Struct futures_router_sink::RouterSink
[−]
[src]
pub struct RouterSink<A, B> { /* fields omitted */ }
A sink capable of routing incoming items to one of two sinks
Methods
impl<A, B> RouterSink<A, B>
[src]
fn new(left_sink: A, right_sink: B) -> RouterSink<A, B>
Create a new RouterrSink for the two given sinks
Example
use futures_router_sink::RouterSink; let left = Vec::<usize>::new(); let right = Vec::<usize>::new(); let router = RouterSink::new(left, right);
Arguments
left_sink
: The sink chosen by the router if an item is tagged asLeft
right_sink
: The sink chosen by the router if an item is tagged asRight
fn left(&self) -> &A
Access the inner sink for the left route
Example
let router = RouterSink::new(left, right); let left = router.left();
Return value
A reference to the inner left route sink
fn right(&self) -> &B
Access the inner sink for the right route
Example
let router = RouterSink::new(left, right); let right = router.right();
Return value
A reference to the inner right route sink
fn left_mut(&mut self) -> &mut A
Mutable access the inner sink for the left route
Example
let router = RouterSink::new(left, right); let right = router.left_mut();
Return value
A mutable reference to the inner left route sink
fn right_mut(&mut self) -> &mut B
Mutable access the inner sink for the right route
Example
let router = RouterSink::new(left, right); let right = router.left_mut();
Return value
A mutable reference to the inner right route sink
Trait Implementations
impl<A, B> Sink for RouterSink<A, B> where
A: Sink,
B: Sink,
[src]
A: Sink,
B: Sink,
type SinkItem = Route<A::SinkItem, B::SinkItem>
The type of value that the sink accepts.
type SinkError = RouterSinkError<A::SinkError, B::SinkError>
The type of value produced by the sink when an error occurs.
fn start_send(
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
Begin the process of sending a value to the sink. Read more
fn poll_complete(&mut self) -> Poll<(), Self::SinkError>
Flush all output from this sink, if necessary. Read more
fn close(&mut self) -> Result<Async<()>, Self::SinkError>
A method to indicate that no more values will ever be pushed into this sink. Read more
fn wait(self) -> Wait<Self>
Creates a new object which will produce a synchronous sink. Read more
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
Composes a function in front of the sink. Read more
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
F: FnOnce(Self::SinkError) -> E,
Transforms the error returned by the sink.
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
E: From<Self::SinkError>,
Map this sink's error to any error implementing From
for this sink's Error
, returning a new sink. Read more
fn buffer(self, amt: usize) -> Buffer<Self>
Adds a fixed-size buffer to the current sink. Read more
fn flush(self) -> Flush<Self>
A future that completes when the sink has finished processing all pending requests. Read more
fn send(self, item: Self::SinkItem) -> Send<Self>
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more