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
The type of value produced by the sink when an error occurs.
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>>
Attempts to prepare the Sink
to receive a value. Read more
sourcefn start_send(self: Pin<&mut Self>, item: U) -> Result<(), Self::Error>
fn start_send(self: Pin<&mut Self>, item: U) -> Result<(), Self::Error>
Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
poll_ready
which returned Poll::Ready(Ok(()))
. Read more
sourceimpl<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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
impl<T, Item> SinkExt<Item> for T where
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,
Composes a function in front of the sink. Read more
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,
Composes a function in front of the sink. Read more
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,
Transforms the error returned by the sink.
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>,
Map this sink’s error to a different error type using the Into
trait. Read more
sourcefn buffer(self, capacity: usize) -> Buffer<Self, Item> where
Self: Sized,
fn buffer(self, capacity: usize) -> Buffer<Self, Item> where
Self: Sized,
Adds a fixed-size buffer to the current sink. Read more
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,
Close the sink.
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>,
Fanout items to multiple sinks. Read more
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,
Flush the sink, processing all pending items. Read more
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,
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
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,
A future that completes after the given item has been received by the sink. Read more
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>;
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
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;
Wrap this sink in an Either
sink, making it the left-hand variant
of that Either
. Read more
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;
Wrap this stream in an Either
stream, making it the right-hand variant
of that Either
. Read more
sourcefn 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,
A convenience method for calling Sink::poll_ready
on Unpin
sink types. Read more
sourcefn 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,
A convenience method for calling Sink::start_send
on Unpin
sink types. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more