pub fn encode_message<P: Protocol>(
envelope: Envelope,
message: &P::Message,
destination: &mut [u8],
) -> Result<usize, EncodeError>Expand description
Encodes a common envelope followed by an explicitly encoded payload.
Examples found in repository?
examples/bounded_codec.rs (line 40)
38fn main() -> Result<(), Box<dyn std::error::Error>> {
39 let mut wire = [0_u8; 128];
40 let written = encode_message::<CounterProtocol>(Envelope::new(1, 0, 7, 1), &42, &mut wire)?;
41
42 let limits = Limits::new(128, 16, 1, 16);
43 let decoded = decode_message::<CounterProtocol>(&wire[..written], &limits)?;
44
45 assert_eq!(decoded.message, 42);
46 assert_eq!(decoded.envelope.generation, 7);
47 println!(
48 "decoded counter {} from {} bounded bytes",
49 decoded.message, written
50 );
51 Ok(())
52}