Skip to content

Frixuu/ChannelPipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

channel_pipes

Crates.io Crates.io Crates.io
GitHub last commit Lines of code

Usage

If you use crossbeam-channel, add this to your Cargo.toml:

[dependencies]
channel_pipes = { version = "0.2", features = ["crossbeam"] }

Examples

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());
}

About

Perform operations on broadcast queues.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages