kf-protocol 2.0.3

Native Rust implementation of kafka protocol
Documentation
use std::fmt::Debug;
use std::io::Cursor;

use kf_protocol::Encoder;
use kf_protocol::Decoder;
use kf_protocol::derive::Encode;
use kf_protocol::derive::Decode;


#[derive(Encode,Decode,Default,Debug)]
pub struct GenericRecord<R> where R: Encoder + Decoder + Debug {
    
    len: i64,
    value: R
}



#[test]
fn test_generic() {

    let record = GenericRecord { len: 20, value: 25 as i64};
  
    let mut src = vec![];
    let result = record.encode(&mut src,0);
    assert!(result.is_ok());

    assert_eq!(src.len(),16);

    let result2 = GenericRecord::<i64>::decode_from(&mut Cursor::new(&src),0);
    assert!(result2.is_ok());
    let decoded_record = result2.expect("is ok");
    assert_eq!(decoded_record.len,20);
    assert_eq!(decoded_record.value,25);
   
    
    
}