open_protocol_codec/
message.rs

1use crate::decode::Decode;
2use crate::encode::Encode;
3
4#[derive(Debug, Clone, Eq, PartialEq)]
5pub enum MessageType {
6    Data,
7    RequestExtraData,
8    SubscribeExtraData,
9    UnsubscribeExtraData,
10}
11
12pub trait Message: Encode + Decode {
13    fn mid() -> u16;
14    fn to_mid(&self) -> u16;
15
16    fn revision() -> u16 { 1 }
17    fn to_revision(&self) -> u16 { 1 }
18
19    fn message_type() -> MessageType { MessageType::Data }
20    fn to_message_type(&self) -> MessageType { MessageType::Data }
21}