Struct std::sync::mpsc::Select
[−]
[src]
pub struct Select { // some fields omitted }
mpsc_select
#27800): This implementation, while likely sufficient, is unsafe and likely to be error prone. At some point in the future this module will likely be replaced, and it is currently unknown how much API breakage that will cause. The ability to select over a number of channels will remain forever, but no guarantees beyond this are being made
The "receiver set" of the select interface. This structure is used to manage a set of receivers which are being selected over.
Methods
impl Select
fn new() -> Select
mpsc_select
#27800): This implementation, while likely sufficient, is unsafe and likely to be error prone. At some point in the future this module will likely be replaced, and it is currently unknown how much API breakage that will cause. The ability to select over a number of channels will remain forever, but no guarantees beyond this are being made
Creates a new selection structure. This set is initially empty.
Usage of this struct directly can sometimes be burdensome, and usage is much easier through
the select!
macro.
Examples
#![feature(mpsc_select)] fn main() { use std::sync::mpsc::Select; let select = Select::new(); }#![feature(mpsc_select)] use std::sync::mpsc::Select; let select = Select::new();
fn handle<'a, T: Send>(&'a self, rx: &'a Receiver<T>) -> Handle<'a, T>
mpsc_select
#27800): This implementation, while likely sufficient, is unsafe and likely to be error prone. At some point in the future this module will likely be replaced, and it is currently unknown how much API breakage that will cause. The ability to select over a number of channels will remain forever, but no guarantees beyond this are being made
Creates a new handle into this receiver set for a new receiver. Note
that this does not add the receiver to the receiver set, for that you
must call the add
method on the handle itself.
fn wait(&self) -> usize
mpsc_select
#27800): This implementation, while likely sufficient, is unsafe and likely to be error prone. At some point in the future this module will likely be replaced, and it is currently unknown how much API breakage that will cause. The ability to select over a number of channels will remain forever, but no guarantees beyond this are being made
Waits for an event on this receiver set. The returned value is not an
index, but rather an id. This id can be queried against any active
Handle
structures (each one has an id
method). The handle with
the matching id
will have some sort of event available on it. The
event could either be that data is available or the corresponding
channel has been closed.