Struct futures::sink::Fanout [−][src]
Sink that clones incoming items and forwards them to two sinks at the same time.
Backpressure from any downstream sink propagates up, which means that this sink can only process items as fast as its slowest downstream sink.
Implementations
impl<Si1, Si2> Fanout<Si1, Si2>
[src]
pub fn get_ref(&self) -> (&Si1, &Si2)
[src]
Get a shared reference to the inner sinks.
pub fn get_mut(&mut self) -> (&mut Si1, &mut Si2)
[src]
Get a mutable reference to the inner sinks.
pub fn get_pin_mut(
self: Pin<&mut Fanout<Si1, Si2>>
) -> (Pin<&mut Si1>, Pin<&mut Si2>)
[src]
self: Pin<&mut Fanout<Si1, Si2>>
) -> (Pin<&mut Si1>, Pin<&mut Si2>)
Get a pinned mutable reference to the inner sinks.
pub fn into_inner(self) -> (Si1, Si2)
[src]
Consumes this combinator, returning the underlying sinks.
Note that this may discard intermediate state of this combinator, so care should be taken to avoid losing resources when this is called.
Trait Implementations
impl<Si1, Si2> Debug for Fanout<Si1, Si2> where
Si2: Debug,
Si1: Debug,
[src]
Si2: Debug,
Si1: Debug,
impl<Si1, Si2, Item> Sink<Item> for Fanout<Si1, Si2> where
Item: Clone,
Si2: Sink<Item, Error = <Si1 as Sink<Item>>::Error>,
Si1: Sink<Item>,
[src]
Item: Clone,
Si2: Sink<Item, Error = <Si1 as Sink<Item>>::Error>,
Si1: Sink<Item>,
type Error = <Si1 as Sink<Item>>::Error
The type of value produced by the sink when an error occurs.
pub fn poll_ready(
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
[src]
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
pub fn start_send(
self: Pin<&mut Fanout<Si1, Si2>>,
item: Item
) -> Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>
[src]
self: Pin<&mut Fanout<Si1, Si2>>,
item: Item
) -> Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>
pub fn poll_flush(
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
[src]
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
pub fn poll_close(
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
[src]
self: Pin<&mut Fanout<Si1, Si2>>,
cx: &mut Context<'_>
) -> Poll<Result<(), <Fanout<Si1, Si2> as Sink<Item>>::Error>>
impl<'__pin, Si1, Si2> Unpin for Fanout<Si1, Si2> where
__Origin<'__pin, Si1, Si2>: Unpin,
[src]
__Origin<'__pin, Si1, Si2>: Unpin,
Auto Trait Implementations
impl<Si1, Si2> RefUnwindSafe for Fanout<Si1, Si2> where
Si1: RefUnwindSafe,
Si2: RefUnwindSafe,
Si1: RefUnwindSafe,
Si2: RefUnwindSafe,
impl<Si1, Si2> Send for Fanout<Si1, Si2> where
Si1: Send,
Si2: Send,
Si1: Send,
Si2: Send,
impl<Si1, Si2> Sync for Fanout<Si1, Si2> where
Si1: Sync,
Si2: Sync,
Si1: Sync,
Si2: Sync,
impl<Si1, Si2> UnwindSafe for Fanout<Si1, Si2> where
Si1: UnwindSafe,
Si2: UnwindSafe,
Si1: UnwindSafe,
Si2: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
[src]
T: Sink<Item> + ?Sized,
pub fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F> where
E: From<Self::Error>,
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
[src]
E: From<Self::Error>,
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
pub fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F> where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
[src]
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
pub fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
[src]
F: FnOnce(Self::Error) -> E,
pub fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self::Error: Into<E>,
[src]
Self::Error: Into<E>,
pub fn buffer(self, capacity: usize) -> Buffer<Self, Item>
[src]
pub fn close(&mut self) -> Close<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
Self: Unpin,
pub fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
[src]
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
pub fn flush(&mut self) -> Flush<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
Self: Unpin,
pub fn send(&mut self, item: Item) -> Send<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
Self: Unpin,
pub fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
Self: Unpin,
pub fn send_all<St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>ⓘ where
Self: Unpin,
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
[src]
Self: Unpin,
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
pub fn left_sink<Si2>(self) -> Either<Self, Si2>ⓘ where
Si2: Sink<Item, Error = Self::Error>,
[src]
Si2: Sink<Item, Error = Self::Error>,
pub fn right_sink<Si1>(self) -> Either<Si1, Self>ⓘ where
Si1: Sink<Item, Error = Self::Error>,
[src]
Si1: Sink<Item, Error = Self::Error>,
pub fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
[src]
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
pub fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error> where
Self: Unpin,
[src]
Self: Unpin,
pub fn poll_flush_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
[src]
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
pub fn poll_close_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
[src]
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,