Struct std::sync::mpsc::Select [] [src]

pub struct Select {
    // some fields omitted
}
Unstable (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

Unstable (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>

Unstable (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

Unstable (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.

Trait Implementations

impl !Send for Select

impl Drop for Select

fn drop(&mut self)