Struct futures_util::sink::With
source · [−]pub struct With<Si, Item, U, Fut, F> { /* private fields */ }
Expand description
Sink for the with
method.
Implementations
sourceimpl<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>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut Si>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
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
sourceimpl<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,
sourceimpl<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>,
type Error = E
type Error = E
sourcefn 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 moresourcefn 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 moresourceimpl<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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T, Item> SinkExt<Item> for Twhere
T: Sink<Item> + ?Sized,
impl<T, Item> SinkExt<Item> for Twhere
T: Sink<Item> + ?Sized,
sourcefn 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,
sourcefn 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,
sourcefn 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,
sourcefn 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 moresourcefn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
sourcefn close(&mut self) -> Close<'_, Self, Item>ⓘNotable traits for Close<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Close<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
fn close(&mut self) -> Close<'_, Self, Item>ⓘNotable traits for Close<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Close<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
sourcefn 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>,
sourcefn flush(&mut self) -> Flush<'_, Self, Item>ⓘNotable traits for Flush<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Flush<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self, Item>ⓘNotable traits for Flush<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Flush<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
sourcefn send(&mut self, item: Item) -> Send<'_, Self, Item>ⓘNotable traits for Send<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Send<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
fn send(&mut self, item: Item) -> Send<'_, Self, Item>ⓘNotable traits for Send<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Send<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
sourcefn feed(&mut self, item: Item) -> Feed<'_, Self, Item>ⓘNotable traits for Feed<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Feed<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>ⓘNotable traits for Feed<'_, Si, Item>impl<Si: Sink<Item> + Unpin + ?Sized, Item> Future for Feed<'_, Si, Item> type Output = Result<(), Si::Error>;
where
Self: Unpin,
sourcefn send_all<'a, St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>ⓘNotable traits for SendAll<'_, Si, St>impl<Si, St, Ok, Error> Future for SendAll<'_, Si, St>where
Si: Sink<Ok, Error = Error> + Unpin + ?Sized,
St: Stream<Item = Result<Ok, Error>> + Unpin + ?Sized, type Output = Result<(), Error>;
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>ⓘNotable traits for SendAll<'_, Si, St>impl<Si, St, Ok, Error> Future for SendAll<'_, Si, St>where
Si: Sink<Ok, Error = Error> + Unpin + ?Sized,
St: Stream<Item = Result<Ok, Error>> + Unpin + ?Sized, type Output = Result<(), Error>;
where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
Si: Sink<Ok, Error = Error> + Unpin + ?Sized,
St: Stream<Item = Result<Ok, Error>> + Unpin + ?Sized, type Output = Result<(), Error>;
sourcefn left_sink<Si2>(self) -> Either<Self, Si2>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;
where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
fn left_sink<Si2>(self) -> Either<Self, Si2>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;
where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;
sourcefn right_sink<Si1>(self) -> Either<Si1, Self>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;
where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
fn right_sink<Si1>(self) -> Either<Si1, Self>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;
where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
A: Future,
B: Future<Output = A::Output>, type Output = A::Output;