#type #channel #session #protocols #async-channel #async #back-end

dialectic-tokio-mpsc

使用Tokio的MPSC通道为Dialectic crate提供后端

1个不稳定版本

0.1.0 2021年4月1日

#2110 in 异步


用于 2 crates

MIT 许可证

160KB
2K SLoC

Rust license: MIT crates.io docs.rs documentation

此crate包含Dialectic的Tokio/MPSC后端。它支持在所有类型上执行发送/接收操作,这些类型必须是 Send + Any。这对于任务间和线程间通信很有用,尤其是您正在开发需要本地测试且编写为无后端依赖的协议时。有几个重要的类型

  • dialectic_tokio_mpsc::Chan<P> 同义词是一个快速类型同义词,用于使用有界MPSC Sender/Receiver 对的通道,类似地,dialectic_tokio_mpsc::UnboundedChan<P> 提供了类似的无界MPSC通道功能。
  • dialectic_tokio_mpsc::Receiver/Sender/UnboundedReceiver/UnboundedSender 类型透明地包装了底层的MPSC接收器/发送器类型。如果不是孤儿规则,Dialectic的 Transmitter/Receiver/Transmit/Receive traits 将直接在 tokio::mpsc 类型上实现,但Rust不允许这样做。
  • 此外,还提供了 dialectic_tokio_mpsc::channel()unbounded_channel() 来方便地构建这些传输类型的配对。

依赖关系

~5–7MB
~121K SLoC