diff options
Diffstat (limited to 'src/message.rs')
-rw-r--r-- | src/message.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/message.rs b/src/message.rs deleted file mode 100644 index 9ab14f9..0000000 --- a/src/message.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::net::IpAddr; - -use serde::{Deserialize, Serialize}; - -pub type MessageKind = u32; - -/// This trait should be implemented by all messages your application -/// wants to handle (click to read more). -/// -/// It defines a `KIND`, which should be a **unique** -/// `u32` that distinguishes these messages from other types of messages -/// (it is used by our communication protocol), as well as an associated -/// `Response` type that defines the type of the response that is given -/// to the message. It is your responsibility to ensure that `KIND` is a -/// unique `u32` that is not used by any other protocol messages. -/// All `KIND` values of the form `0x42xxxxxx` are reserved by the netapp -/// crate for internal purposes. -/// -/// A handler for this message has type `Self -> Self::Response`. -/// If you need to return an error, the `Response` type should be -/// a `Result<_, _>`. -pub trait Message: Serialize + for<'de> Deserialize<'de> + Send + Sync { - const KIND: MessageKind; - type Response: Serialize + for<'de> Deserialize<'de> + Send + Sync; -} - -#[derive(Serialize, Deserialize)] -pub(crate) struct HelloMessage { - pub server_addr: Option<IpAddr>, - pub server_port: u16, -} - -impl Message for HelloMessage { - const KIND: MessageKind = 0x42000001; - type Response = (); -} |