pub fn channel<T>() -> (Sender<T>, Receiver<T>)
Expand description
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
extern crate tokio_channel;
extern crate futures;
use tokio_channel::oneshot;
use futures::*;
use std::thread;
let (p, c) = oneshot::channel::<i32>();
thread::spawn(|| {
c.map(|i| {
println!("got: {}", i);
}).wait();
});
p.send(3).unwrap();