dialectic-tokio-mpsc

Crates.iodialectic-tokio-mpsc
lib.rsdialectic-tokio-mpsc
version0.1.0
sourcesrc
created_at2021-04-01 22:17:40.710417
updated_at2021-04-01 22:17:40.710417
descriptionA backend for the Dialectic crate using Tokio's MPSC channels
homepagehttps://github.com/boltlabs-inc/dialectic
repositoryhttps://github.com/boltlabs-inc/dialectic
max_upload_size
id377066
size13,613
J. Ayo Akinyele (jakinyele)

documentation

README

Rust license: MIT crates.io docs.rs documentation

This crate contains the Tokio/MPSC backend for Dialectic. It supports send/receive operations over all types which are Send + Any. This is useful for inter-task and inter-thread communication, especially if you're working on a protocol which needs to be tested locally and is written to be backend-agnostic. There are a few important types:

  • The dialectic_tokio_mpsc::Chan<P> synonym is a quick type synonym for a channel which uses a bounded MPSC Sender/Receiver pair, and analogously the dialectic_tokio_mpsc::UnboundedChan<P> provides a similar functionality for unbounded MPSC channels.
  • The dialectic_tokio_mpsc::Receiver/Sender/UnboundedReceiver/UnboundedSender types transparently wrap the underlying MPSC receiver/sender types. If not for the orphan rules, Dialectic's Transmitter/Receiver/Transmit/Receive traits would be directly implemented on the tokio::mpsc types, but Rust does not allow that.
  • Addditionally, dialectic_tokio_mpsc::channel() and unbounded_channel() are provided for conveniently constructing pairs of these transport types.
Commit count: 435

cargo fmt