A crate that allows for easy and fast communication between processes, threads and systems.
[![license-badge]][crates-io] [![version-badge]][crates-io] [![downloads-badge]][crates-io] [![tests-badge]][github-actions] [![docs-badge]][docs-rs]This library is available in the following languages:
Sender/Receiver types to be used with any type that implements [std::io::Read
] and [std::io::Write
].
This crate is similar to [std::sync::mpsc
] in terms of the API, and most of the documentation
for that module carries over to this crate.
Don't think of these channels as a replacement for [std::sync::mpsc
], but as another implementation that works over many different transports.
These channels are meant to be used in combination with network sockets, local sockets, pipes, etc.
The differences are:
:warning: Warning: This library does not support transparent encryption or authentication of the data. This functionality must be implemented by a [Serializer
] and [Deserializer
].
statistics
: Capture statistic data like: total bytes sent/received, timestamp of last packet, etctokio
: Adds support for sending/receiving types asynchronously.cbor
: Adds support for sending/receiving any type with [ciborium
].serde
: Adds support for sending/receiving any type which implements [serde::Serialize
] and [serde::Deserialize
].bincode
: Adds support for sending/receiving any type with [bincode
].See: examples/