2个不稳定版本
| 0.2.0 | 2022年2月10日 | 
|---|---|
| 0.1.0 | 2022年2月7日 | 
#1170 in 并发
12KB
259 代码行
channel_pipes
 
 
 
用法
如果你使用 crossbeam-channel,将以下内容添加到你的 Cargo.toml
[dependencies]
channel_pipes = { version = "0.2", features = ["crossbeam"] }
示例
use channel_pipes::{operators::DistinctUntilChanged, CrossbeamSender, IntoPiped};
use crossbeam_channel::unbounded;
fn main() {
    let (s, r) = unbounded::<i32>().pipe().distinct_until_changed();
    let vec = vec![1, 2, 2, 3, 3, 3, 1];
    for i in vec {
        s.send(i);
    }
    assert_eq!(Ok(1), r.try_recv());
    assert_eq!(Ok(2), r.try_recv());
    assert_eq!(Ok(3), r.try_recv());
    assert_eq!(Ok(1), r.try_recv());
    assert!(r.try_recv().is_err());
}
依赖项
~1.6–7MB
~48K SLoC