Derive Macro fluvio_protocol::Encoder
source · #[derive(Encoder)]
{
// Attributes available to this derive:
#[varint]
#[trace]
#[fluvio]
}
Expand description
Custom derive for encoding structure or enum to bytes using Kafka protocol format. This assumes all fields(or enum variants) implement kafka encode traits.
§Examples
use fluvio_protocol::Encoder;
#[derive(Encoder)]
pub struct SimpleRecord {
val: u8
}
let mut data = vec![];
let record = SimpleRecord { val: 4 };
record.encode(&mut data,0);
assert_eq!(data[0],4);
Encoder applies to either Struct of Enum.
Encoder respects version attributes. See Decoder derive.