1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
use ensicoin_serializer::types::Sha256Result; use ensicoin_serializer::{Deserialize, Serialize}; use crate::message::{Message, MessageType}; #[derive(Serialize, Deserialize)] pub struct InvVect { pub data_type: crate::message::ResourceType, pub hash: Sha256Result, } #[derive(Serialize, Deserialize)] pub struct Inv { pub inventory: Vec<InvVect>, } impl Message for Inv { fn message_string() -> [u8; 12] { [105, 110, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0] } fn message_type() -> MessageType { MessageType::Inv } } #[derive(Serialize, Deserialize)] pub struct GetData { pub inventory: Vec<InvVect>, } impl Message for GetData { fn message_string() -> [u8; 12] { [103, 101, 116, 100, 97, 116, 97, 0, 0, 0, 0, 0] } fn message_type() -> MessageType { MessageType::GetData } } #[derive(Serialize, Deserialize)] pub struct NotFound { pub inventory: Vec<InvVect>, } impl Message for NotFound { fn message_string() -> [u8; 12] { [110, 111, 116, 102, 111, 117, 110, 100, 0, 0, 0, 0] } fn message_type() -> MessageType { MessageType::NotFound } }