Function futures::sync::oneshot::channel
[−]
[src]
pub fn channel<T>() -> (Sender<T>, Receiver<T>)
Creates a new futures-aware, one-shot channel.
This function is similar to Rust's channels found in the standard library.
Two halves are returned, the first of which is a Sender
handle, used to
signal the end of a computation and provide its value. The second half is a
Receiver
which implements the Future
trait, resolving to the value that
was given to the Sender
handle.
Each half can be separately owned and sent across threads/tasks.
Examples
use std::thread; use futures::sync::oneshot; use futures::*; let (c, p) = oneshot::channel::<i32>(); thread::spawn(|| { p.map(|i| { println!("got: {}", i); }).wait(); }); c.send(3).unwrap();