pub trait I3Protocol {
const MAGIC: &'static str = MAGIC;
fn _encode_msg<P>(&self, msg: Msg, payload: Option<P>) -> Vec<u8, Global>
where
P: AsRef<str>,
{ ... }
fn encode_msg(&self, msg: Msg) -> Vec<u8, Global> { ... }
fn encode_msg_body<P>(&self, msg: Msg, payload: P) -> Vec<u8, Global>
where
P: AsRef<str>,
{ ... }
fn encode_msg_json<P>(
&self,
msg: Msg,
payload: P
) -> Result<Vec<u8, Global>, Error>
where
P: Serialize,
{ ... }
fn decode_event(
evt_type: u32,
payload: Vec<u8, Global>
) -> Result<Event, Error> { ... }
}