Struct multi_consumer_stream::KeyHandle [] [src]

pub struct KeyHandle<'owner, S: 'owner, K: 'owner, F: 'owner> where
    S: Stream,
    K: Eq + Hash
{ /* fields omitted */ }

A KeyHandle to an OwnerMCS, receiving only the items for which the owner's key_fn return the key associated with the KeyHandle.

Not consuming a KeyHandle as a stream will block all consumers of the stream once a matching item comes up.

Methods

impl<'owner, S, K, F> KeyHandle<'owner, S, K, F> where
    S: Stream,
    K: Copy + Eq + Hash,
    F: Fn(&S::Item) -> K, 
[src]

[src]

Create a KeyHandle to the underlying stream. The handle receives all items for which the key_fn returns key.

Panics if there is already a handle for that key.

[src]

Create a KeyHandle to the underlying stream. The handle receives all items for which the key_fn returns key. This returns None if there is already a handle for the given key.

Trait Implementations

impl<'owner, S, K, F> Drop for KeyHandle<'owner, S, K, F> where
    S: Stream,
    K: Eq + Hash
[src]

[src]

Deregisters the key of this KeyHandle.

impl<'owner, S, K, F> Stream for KeyHandle<'owner, S, K, F> where
    S: Stream,
    K: Copy + Eq + Hash,
    F: Fn(&S::Item) -> K, 
[src]

The type of item this stream will yield on success.

The type of error this stream may generate.

[src]

Attempt to pull out the next value of this stream, returning None if the stream is finished. Read more

[src]

Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more

[src]

Converts this stream into a Future. Read more

[src]

Converts a stream of type T to a stream of type U. Read more

[src]

Converts a stream of error type T to a stream of error type U. Read more

[src]

Filters the values produced by this stream according to the provided predicate. Read more

[src]

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more

[src]

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f. Read more

[src]

Chain on a computation for when a value is ready, passing the successful results to the provided closure f. Read more

[src]

Chain on a computation for when an error happens, passing the erroneous result to the provided closure f. Read more

[src]

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more

[src]

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

[src]

Deprecated since 0.1.14

: please use Stream::concat2 instead

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

[src]

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

[src]

Flattens a stream of streams into just one continuous stream. Read more

[src]

Skip elements on this stream while the predicate provided resolves to true. Read more

[src]

Take elements from this stream while the predicate provided resolves to true. Read more

[src]

Runs this stream to completion, executing the provided closure for each element on the stream. Read more

[src]

Map this stream's error to any error implementing From for this stream's Error, returning a new stream. Read more

[src]

Creates a new stream of at most amt items of the underlying stream. Read more

[src]

Creates a new stream which skips amt items of the underlying stream. Read more

[src]

Fuse a stream such that poll will never again be called once it has finished. Read more

[src]

Borrows a stream, rather than consuming it. Read more

[src]

Catches unwinding panics while polling the stream. Read more

[src]

An adaptor for creating a buffered list of pending futures. Read more

[src]

An adaptor for creating a buffered list of pending futures (unordered). Read more

[src]

Deprecated

: functionality provided by select now

An adapter for merging the output of two streams. Read more

[src]

An adapter for zipping two streams together. Read more

[src]

Adapter for chaining two stream. Read more

[src]

Creates a new stream which exposes a peek method. Read more

[src]

An adaptor for chunking up items of the stream inside a vector. Read more

[src]

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more

[src]

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

[src]

Splits this Stream + Sink object into separate Stream and Sink objects. Read more

[src]

Do something with each item of this stream, afterwards passing it on. Read more