#postcard #transport #tokio #stream #tokio-serde

tokio-serde-postcard

tokio-serde transport based on postcard format

1 unstable release

0.1.0 Dec 1, 2023

#1217 in Encoding

Download history 143/week @ 2024-01-10 182/week @ 2024-01-17 138/week @ 2024-01-24 42/week @ 2024-01-31 37/week @ 2024-02-07 311/week @ 2024-02-14 288/week @ 2024-02-21 115/week @ 2024-02-28 214/week @ 2024-03-06 284/week @ 2024-03-13 51/week @ 2024-03-20 300/week @ 2024-03-27 55/week @ 2024-04-03 337/week @ 2024-04-10 122/week @ 2024-04-17 67/week @ 2024-04-24

612 downloads per month

Apache-2.0

7KB

tokio-serde-postcard

tokio-serde transport based on postcard format.

Usage

Adding dependency:

[dependencies]
tokio-serde-postcard = "0.1"

Transport initialization is the same as the built-in tokio_serde serializers:

fn framed_tcp_stream<Item, SinkItem>(
    stream: TcpStream,
) -> tokio_serde::Framed<
    tokio_util::codec::Framed<TcpStream, LengthDelimitedCodec>,
    Item,
    SinkItem,
    tokio_serde_postcard::Postcard<Item, SinkItem>,
> {
    // First wrap the stream with a basic length-delimited codec.
    let transport =
        tokio_util::codec::Framed::new(stream, tokio_util::codec::LengthDelimitedCodec::default());

    // Then wrap the transport with `tokio_serde`.
    tokio_serde::Framed::new(transport, tokio_serde_postcard::Postcard::default())
}

License

Apache 2.0

Dependencies

~0.9–1.5MB
~31K SLoC