Struct futures_util::sink::With  
source · pub struct With<Si, Item, U, Fut, F> { /* private fields */ }Expand description
Sink for the with method.
Implementations§
source§impl<Si, Item, U, Fut, F, E> With<Si, Item, U, Fut, F>where
    Si: Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Si::Error>,
 
impl<Si, Item, U, Fut, F, E> With<Si, Item, U, Fut, F>where
    Si: Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Si::Error>,
sourcepub fn get_ref(&self) -> &Si
 
pub fn get_ref(&self) -> &Si
Acquires a reference to the underlying sink or stream that this combinator is pulling from.
sourcepub fn get_mut(&mut self) -> &mut Si
 
pub fn get_mut(&mut self) -> &mut Si
Acquires a mutable reference to the underlying sink or stream that this combinator is pulling from.
Note that care must be taken to avoid tampering with the state of the sink or stream which may otherwise confuse this combinator.
sourcepub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut Si>
 
pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut Si>
Acquires a pinned mutable reference to the underlying sink or stream that this combinator is pulling from.
Note that care must be taken to avoid tampering with the state of the sink or stream which may otherwise confuse this combinator.
sourcepub fn into_inner(self) -> Si
 
pub fn into_inner(self) -> Si
Consumes this combinator, returning the underlying sink or stream.
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§
source§impl<Si, Item, U, Fut, F> Clone for With<Si, Item, U, Fut, F>where
    Si: Clone,
    F: Clone,
    Fut: Clone,
 
impl<Si, Item, U, Fut, F> Clone for With<Si, Item, U, Fut, F>where
    Si: Clone,
    F: Clone,
    Fut: Clone,
source§impl<Si, Item, U, Fut, F, E> Sink<U> for With<Si, Item, U, Fut, F>where
    Si: Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Si::Error>,
 
impl<Si, Item, U, Fut, F, E> Sink<U> for With<Si, Item, U, Fut, F>where
    Si: Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Si::Error>,
source§fn poll_ready(
    self: Pin<&mut Self>,
    cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
 
fn poll_ready(
    self: Pin<&mut Self>,
    cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
Sink to receive a value. Read moresource§fn start_send(self: Pin<&mut Self>, item: U) -> Result<(), Self::Error>
 
fn start_send(self: Pin<&mut Self>, item: U) -> Result<(), Self::Error>
poll_ready which returned Poll::Ready(Ok(())). Read moresource§impl<S, Item, U, Fut, F> Stream for With<S, Item, U, Fut, F>where
    S: Stream + Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future,
 
impl<S, Item, U, Fut, F> Stream for With<S, Item, U, Fut, F>where
    S: Stream + Sink<Item>,
    F: FnMut(U) -> Fut,
    Fut: Future,
impl<'__pin, Si, Item, U, Fut, F> Unpin for With<Si, Item, U, Fut, F>where
    __Origin<'__pin, Si, Item, U, Fut, F>: Unpin,
Auto Trait Implementations§
impl<Si, Item, U, Fut, F> RefUnwindSafe for With<Si, Item, U, Fut, F>where
    F: RefUnwindSafe,
    Fut: RefUnwindSafe,
    Si: RefUnwindSafe,
impl<Si, Item, U, Fut, F> Send for With<Si, Item, U, Fut, F>where
    F: Send,
    Fut: Send,
    Si: Send,
impl<Si, Item, U, Fut, F> Sync for With<Si, Item, U, Fut, F>where
    F: Sync,
    Fut: Sync,
    Si: Sync,
impl<Si, Item, U, Fut, F> UnwindSafe for With<Si, Item, U, Fut, F>where
    F: UnwindSafe,
    Fut: UnwindSafe,
    Si: UnwindSafe,
Blanket Implementations§
source§impl<T, Item> SinkExt<Item> for Twhere
    T: Sink<Item> + ?Sized,
 
impl<T, Item> SinkExt<Item> for Twhere
    T: Sink<Item> + ?Sized,
source§fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Self::Error>,
    Self: Sized,
 
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where
    F: FnMut(U) -> Fut,
    Fut: Future<Output = Result<Item, E>>,
    E: From<Self::Error>,
    Self: Sized,
source§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>>,
    Self: Sized,
 
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>>,
    Self: Sized,
source§fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where
    F: FnOnce(Self::Error) -> E,
    Self: Sized,
 
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where
    F: FnOnce(Self::Error) -> E,
    Self: Sized,
source§fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where
    Self: Sized,
    Self::Error: Into<E>,
 
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where
    Self: Sized,
    Self::Error: Into<E>,
Into trait. Read moresource§fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
    Self: Sized,
 
fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
    Self: Sized,
source§fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where
    Self: Sized,
    Item: Clone,
    Si: Sink<Item, Error = Self::Error>,
 
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where
    Self: Sized,
    Item: Clone,
    Si: Sink<Item, Error = Self::Error>,
source§fn flush(&mut self) -> Flush<'_, Self, Item> ⓘwhere
    Self: Unpin,
 
fn flush(&mut self) -> Flush<'_, Self, Item> ⓘwhere
    Self: Unpin,
source§fn send(&mut self, item: Item) -> Send<'_, Self, Item> ⓘwhere
    Self: Unpin,
 
fn send(&mut self, item: Item) -> Send<'_, Self, Item> ⓘwhere
    Self: Unpin,
source§fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> ⓘwhere
    Self: Unpin,
 
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> ⓘwhere
    Self: Unpin,
source§fn send_all<'a, St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> ⓘwhere
    St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
    Self: Unpin,
 
fn send_all<'a, St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> ⓘwhere
    St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
    Self: Unpin,
source§fn left_sink<Si2>(self) -> Either<Self, Si2> ⓘwhere
    Si2: Sink<Item, Error = Self::Error>,
    Self: Sized,
 
fn left_sink<Si2>(self) -> Either<Self, Si2> ⓘwhere
    Si2: Sink<Item, Error = Self::Error>,
    Self: Sized,
source§fn right_sink<Si1>(self) -> Either<Si1, Self> ⓘwhere
    Si1: Sink<Item, Error = Self::Error>,
    Self: Sized,
 
fn right_sink<Si1>(self) -> Either<Si1, Self> ⓘwhere
    Si1: Sink<Item, Error = Self::Error>,
    Self: Sized,
source§fn poll_ready_unpin(
    &mut self,
    cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
    Self: Unpin,
 
fn poll_ready_unpin(
    &mut self,
    cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
    Self: Unpin,
Sink::poll_ready on Unpin
sink types.source§fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
    Self: Unpin,
 
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
    Self: Unpin,
Sink::start_send on Unpin
sink types.