Skip to main content

encode_message

Function encode_message 

Source
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}