Function encode

Source
pub fn encode<T: Encoder>(value: &T) -> Result<Bytes>
Expand description

Convenience function to encode a value to bytes.

This is equivalent to calling value.encode(writer) but provides a more ergonomic API.

§Arguments

  • value - The value to encode.
  • writer - The buffer to write the encoded bytes into.

§Example

use senax_encoder::{encode, decode, Encode, Decode};
use bytes::BytesMut;

#[derive(Encode, Decode, PartialEq, Debug)]
struct MyStruct {
    id: u32,
    name: String,
}

let value = MyStruct { id: 42, name: "hello".to_string() };
let mut buf = encode(&value).unwrap();
let decoded: MyStruct = decode(&mut buf).unwrap();
assert_eq!(value, decoded);