8 个版本
0.3.4 | 2024 年 6 月 26 日 |
---|---|
0.3.3 | 2024 年 6 月 26 日 |
0.3.1 | 2023 年 10 月 15 日 |
0.2.3 | 2023 年 7 月 25 日 |
0.1.2 | 2023 年 4 月 19 日 |
在 Rust 模式 中排名 2003
每月下载量 65
62KB
1.5K SLoC
sod-mpsc
sod::Service
实现与 std::sync::mpsc::channel
队列交互。
服务实现
MpscSender
向std::sync::mpsc::channel
发送消息。MpscSyncSender
向std::sync::mpsc::sync_channel
发送消息,如果通道已满则阻塞。MpscSyncTrySender
尝试向std::sync::mpsc::sync_channel
发送消息,如果通道已满,则可以通过sod::RetryService
重试。MpscReceiver
从std::sync::mpsc::channel
或std::sync::mpsc::sync_channel
接收消息,直到接收到一个元素为止,会阻塞。MpscTryReceiver
尝试从std::sync::mpsc::channel
或std::sync::mpsc::sync_channel
接收,当通道为空时,可以通过sod::Retryable
进行重试。
示例
use sod::Service;
use sod_mpsc::{MpscSender, MpscReceiver};
use std::sync::mpsc;
let (tx, rx) = mpsc::channel();
let pusher = MpscSender::new(tx);
let poller = MpscReceiver::new(rx);
pusher.process(1).unwrap();
pusher.process(2).unwrap();
assert_eq!(poller.process(()).unwrap(), 1);
assert_eq!(poller.process(()).unwrap(), 2);
依赖
~235–680KB
~16K SLoC