skipchannel 2.0.1

skipchannels allow to communicate between threads, but always skip to the last sent value
Documentation
  • Coverage
  • 50%
    3 out of 6 items documented1 out of 6 items with examples
  • Size
  • Source code size: 8.84 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.68 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • soenkehahn/rust-skipchannel
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • soenkehahn

This crate allows you to create a skipchannel and use it to send values between threads. When you read from a skipchannel you'll only ever get the last sent value, i.e. the channel skips all intermediate values. (The idea for skipchannels comes from the Concurrent Haskell paper.)

Here's an example:

extern crate skipchannel;

use skipchannel::skipchannel;

let (sender, receiver) = skipchannel();
let thread = std::thread::spawn(move || {
  std::thread::sleep(std::time::Duration::new(0, 100_000_000));
  receiver.recv()
});
sender.send(1);
sender.send(2);
assert_eq!(thread.join().unwrap(), Some(2));