| Crates.io | single_value_channel |
| lib.rs | single_value_channel |
| version | 1.2.2 |
| created_at | 2017-06-21 11:20:13.827738+00 |
| updated_at | 2021-02-21 12:04:10.94615+00 |
| description | Concurrent single-value update and receive channel |
| homepage | |
| repository | https://github.com/alexheretic/single-value-channel |
| max_upload_size | |
| id | 19998 |
| size | 24,515 |
Non-blocking single value update and receive channel.
This module provides a latest-message style channel, where update sources can update the latest value that the receiver owns in a practically non-blocking way.
Unlike the mpsc::channel each value send will overwrite the 'latest' value. See the documentation for
more details.
use single_value_channel::channel_starting_with;
use std::thread;
let (mut receiver, updater) = channel_starting_with(0);
assert_eq!(*receiver.latest(), 0);
thread::spawn(move|| {
updater.update(2); // next access to receiver.latest() -> 2
updater.update(12); // next access to receiver.latest() -> 12
}).join();
assert_eq!(*receiver.latest(), 12);
This crate is maintained with latest stable rust.