[][src]Derive Macro kf_protocol_derive::Encode

#[derive(Encode)]
{
    // Attributes available to this derive:
    #[varint]
    #[fluvio_kf]
}

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 kf_protocol::Encoder;
use kf_protocol::derive::Encode;

#[derive(Encode)]
pub struct SimpleRecord {
    val: u8
}

let data = vec![];

let record = SimpleRecord { val: 4};
recprd.encode(&mut data,0);
     
assert_eq!(data[0],4);

Encode applys to either Struct of Enum.

Encode respects version attributes. See Decode derive.