#decode #encode #codec

dencode

Utilities for decoding and encoding frames from readers and writers

1 unstable release

0.1.0 Dec 24, 2020

#241 in Asynchronous

MIT license

36KB
792 lines

dencode

Utilities for encoding and decoding frames with support for synchronous and asynchronous io.

Contains adapters to go from streams of bytes, Read/AsyncRead and Write/AsyncWrite, to framed iterators/streams.

Latest Version Rust Documentation LICENSE

Example

use dencode::{LinesCodec, Framed};

async fn main() {
    // Synchronous
    // let reader = ...
    let mut framed = Framed::new(read, LinesCodec {});

    for frame in framed {
        println!("{:?}", frame);
    }

    // Asynchronous
    // let stream = ...
    let mut framed = Framed::new(stream, LinesCodec {});

    while let Some(line) = framed.try_next().await.unwrap() {
        println!("{:?}", line);
    }
}

Prior Art

Dependencies

~155–480KB