in src/codec/thrift.rs [152:192]
fn ping() {
let mut buffer = ThriftBuffer::new();
// new buffer has 4 bytes to hold framing later
assert_eq!(buffer.len(), 4);
assert_eq!(buffer.as_bytes(), &[0, 0, 0, 0]);
buffer.protocol_header();
assert_eq!(buffer.len(), 8);
assert_eq!(buffer.as_bytes(), &[0, 0, 0, 0, 128, 1, 0, 1]);
buffer.method_name("ping");
assert_eq!(buffer.len(), 16);
assert_eq!(
buffer.as_bytes(),
&[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103]
);
buffer.sequence_id(0);
assert_eq!(buffer.len(), 20);
assert_eq!(
buffer.as_bytes(),
&[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0]
);
buffer.stop();
assert_eq!(buffer.len(), 21);
assert_eq!(
buffer.as_bytes(),
&[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0, 0]
);
buffer.frame();
assert_eq!(buffer.len(), 21);
assert_eq!(
buffer.as_bytes(),
&[0, 0, 0, 17, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0, 0]
);
assert_eq!(decode(buffer.as_bytes()), Ok(()));
}