1 unstable release
0.1.0 | Apr 6, 2019 |
---|
#16 in #bincode
8KB
130 lines
tokio-bincode
Bincode based tokio-codec
adapter.
Usage
First, add this to your Cargo.toml
:
[dependencies]
tokio-bincode = "0.1"
Then you can use it like so:
#[derive(Serialize, Deserialize)]
struct MyProtocol;
// Create the codec based on your custom protocol
let codec = BinCodec::<MyProtocol>::new();
// Frame the transport with the codec to produce a stream/sink
let (sink, stream) = Framed::new(transport, codec).split();
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in tokio-bincode by you, shall be licensed as MIT, without any additional terms or conditions.
lib.rs
:
Tokio codec for use with bincode
This crate provides a bincode
based codec that can be used with
tokio's Framed
, FramedRead
, and FramedWrite
.
Example
# use futures::{Stream, Sink};
# use tokio::io::{AsyncRead, AsyncWrite};
# use tokio_codec::Framed;
# use serde::{Serialize, Deserialize};
# use tokio_bincode::BinCodec;
# use serde_derive::{Serialize, Deserialize};
# fn sd<'a>(transport: impl AsyncRead + AsyncWrite) {
#[derive(Serialize, Deserialize)]
struct MyProtocol;
// Create the codec based on your custom protocol
let codec = BinCodec::<MyProtocol>::new();
// Frame the transport with the codec to produce a stream/sink
let (sink, stream) = Framed::new(transport, codec).split();
# }
Dependencies
~1MB
~22K SLoC