#channel #message #split #abstraction #send-recv #receivers #stream-of-messages

split_channel

split_channel提供了一种通过分割发送/接收通道的流消息抽象。

6个版本 (破坏性更新)

0.7.0 2024年8月19日
0.5.0 2024年2月19日
0.4.0 2023年12月27日
0.3.0 2023年9月21日
0.1.0 2023年7月10日

#3 in #receivers

Download history 30/week @ 2024-07-01 66/week @ 2024-07-29

每月下载量 66
busybee中使用

Apache-2.0

260KB
6K SLoC

split_channel

split_channel提供了一种通过分割发送/接收通道的流消息抽象。

状态

维护轨道。该库被认为是稳定的,如果一年内没有变化,则将进入维护模式。文档更改除外。

范围

此库提供了分割发送/接收通道的抽象。这是一个类型系统的hack,允许对同一底层类型的两个 &mut 引用。

瑕疵

  • 我不太喜欢这个名字。

文档

最新文档始终可在docs.rs找到。


lib.rs:

split_channel提供了一种通过分割发送/接收通道的流消息抽象。大多数建立通道的调用返回一个包含([RecvChannel],[SendChannel])的元组。

这里的关键思想是,一个 &mut RecvChannel&mut SendChannel 对同一 SslStream<TcpStream> 存在,允许并行发送和处理消息。一般的模式是锁定发送通道,发送数据,然后使用 sync42::wait_list::WaitList 来同步接收者。

依赖

~32MB
~824K SLoC