///|
fn main {
let binary = match
@frame.LengthDelimitedCodec::new(
length_field_length=2,
byte_order=@frame.big_endian(),
) {
Ok(codec) => codec
Err(_) => abort("valid binary codec configuration")
}
let wire = match binary.encode(b"binary message") {
Ok(bytes) => bytes
Err(_) => abort("payload fits the configured length field")
}
match binary.feed(wire) {
Ok(frames) => println("binary frames: \{frames.length()}")
Err(_) => abort("binary stream must decode")
}
let lines = match @frame.DelimiterDecoder::new(b"\r\n") {
Ok(codec) => codec
Err(_) => abort("valid line codec configuration")
}
ignore(lines.feed(b"first\r"))
match lines.feed(b"\nsecond\r\n") {
Ok(frames) => println("line frames: \{frames.length()}")
Err(_) => abort("line stream must decode")
}
}