[−][src]Struct futures::sink::With
Sink for the Sink::with
combinator, chaining a computation to run prior
to pushing a value into the underlying sink.
Methods
impl<S, U, F, Fut> With<S, U, F, Fut> where
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = S::SinkItem>,
Fut::Error: From<S::SinkError>,
[src]
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = S::SinkItem>,
Fut::Error: From<S::SinkError>,
pub fn get_ref(&self) -> &S
[src]
Get a shared reference to the inner sink.
pub fn get_mut(&mut self) -> &mut S
[src]
Get a mutable reference to the inner sink.
pub fn into_inner(self) -> S
[src]
Consumes this combinator, returning the underlying sink.
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<S: Clone, U: Clone, F: Clone, Fut: Clone> Clone for With<S, U, F, Fut> where
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
Fut::Future: Clone,
S::SinkItem: Clone,
[src]
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
Fut::Future: Clone,
S::SinkItem: Clone,
impl<S: Debug, U: Debug, F: Debug, Fut: Debug> Debug for With<S, U, F, Fut> where
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
Fut::Future: Debug,
S::SinkItem: Debug,
[src]
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
Fut::Future: Debug,
S::SinkItem: Debug,
impl<S, U, F, Fut> Sink for With<S, U, F, Fut> where
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = S::SinkItem>,
Fut::Error: From<S::SinkError>,
[src]
S: Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = S::SinkItem>,
Fut::Error: From<S::SinkError>,
type SinkItem = U
The type of value that the sink accepts.
type SinkError = Fut::Error
The type of value produced by the sink when an error occurs.
fn start_send(
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Fut::Error>
[src]
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Fut::Error>
fn poll_complete(&mut self) -> Poll<(), Fut::Error>
[src]
fn close(&mut self) -> Poll<(), Fut::Error>
[src]
fn wait(self) -> Wait<Self> where
Self: Sized,
[src]
Self: Sized,
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
Fut::Error: From<Self::SinkError>,
Self: Sized,
[src]
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
Fut::Error: From<Self::SinkError>,
Self: Sized,
fn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Self: Sized,
[src]
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Self: Sized,
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
Self: Sized,
[src]
F: FnOnce(Self::SinkError) -> E,
Self: Sized,
fn sink_from_err<E: From<Self::SinkError>>(self) -> SinkFromErr<Self, E> where
Self: Sized,
[src]
Self: Sized,
fn buffer(self, amt: usize) -> Buffer<Self> where
Self: Sized,
[src]
Self: Sized,
fn fanout<S>(self, other: S) -> Fanout<Self, S> where
Self: Sized,
Self::SinkItem: Clone,
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
[src]
Self: Sized,
Self::SinkItem: Clone,
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
fn flush(self) -> Flush<Self> where
Self: Sized,
[src]
Self: Sized,
fn send(self, item: Self::SinkItem) -> Send<Self> where
Self: Sized,
[src]
Self: Sized,
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<S::Error>,
Self: Sized,
[src]
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<S::Error>,
Self: Sized,
impl<S, U, F, Fut> Stream for With<S, U, F, Fut> where
S: Stream + Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
[src]
S: Stream + Sink,
F: FnMut(U) -> Fut,
Fut: IntoFuture,
type Item = S::Item
The type of item this stream will yield on success.
type Error = S::Error
The type of error this stream may generate.
fn poll(&mut self) -> Poll<Option<S::Item>, S::Error>
[src]
fn wait(self) -> Wait<Self> where
Self: Sized,
[src]
Self: Sized,
fn into_future(self) -> StreamFuture<Self> where
Self: Sized,
[src]
Self: Sized,
fn map<U, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> U,
Self: Sized,
[src]
F: FnMut(Self::Item) -> U,
Self: Sized,
fn map_err<U, F>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> U,
Self: Sized,
[src]
F: FnMut(Self::Error) -> U,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> bool,
Self: Sized,
fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<B>,
Self: Sized,
[src]
F: FnMut(Self::Item) -> Option<B>,
Self: Sized,
fn then<F, U>(self, f: F) -> Then<Self, F, U> where
F: FnMut(Result<Self::Item, Self::Error>) -> U,
U: IntoFuture,
Self: Sized,
[src]
F: FnMut(Result<Self::Item, Self::Error>) -> U,
U: IntoFuture,
Self: Sized,
fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where
F: FnMut(Self::Item) -> U,
U: IntoFuture<Error = Self::Error>,
Self: Sized,
[src]
F: FnMut(Self::Item) -> U,
U: IntoFuture<Error = Self::Error>,
Self: Sized,
fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where
F: FnMut(Self::Error) -> U,
U: IntoFuture<Item = Self::Item>,
Self: Sized,
[src]
F: FnMut(Self::Error) -> U,
U: IntoFuture<Item = Self::Item>,
Self: Sized,
fn collect(self) -> Collect<Self> where
Self: Sized,
[src]
Self: Sized,
fn concat2(self) -> Concat2<Self> where
Self: Sized,
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator + Default,
[src]
Self: Sized,
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator + Default,
fn concat(self) -> Concat<Self> where
Self: Sized,
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator,
[src]
Self: Sized,
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator,
fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T> where
F: FnMut(T, Self::Item) -> Fut,
Fut: IntoFuture<Item = T>,
Self::Error: From<Fut::Error>,
Self: Sized,
[src]
F: FnMut(T, Self::Item) -> Fut,
Fut: IntoFuture<Item = T>,
Self::Error: From<Fut::Error>,
Self: Sized,
fn flatten(self) -> Flatten<Self> where
Self::Item: Stream,
<Self::Item as Stream>::Error: From<Self::Error>,
Self: Sized,
[src]
Self::Item: Stream,
<Self::Item as Stream>::Error: From<Self::Error>,
Self: Sized,
fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R> where
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
[src]
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
[src]
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where
F: FnMut(Self::Item) -> U,
U: IntoFuture<Item = (), Error = Self::Error>,
Self: Sized,
[src]
F: FnMut(Self::Item) -> U,
U: IntoFuture<Item = (), Error = Self::Error>,
Self: Sized,
fn from_err<E: From<Self::Error>>(self) -> FromErr<Self, E> where
Self: Sized,
[src]
Self: Sized,
fn take(self, amt: u64) -> Take<Self> where
Self: Sized,
[src]
Self: Sized,
fn skip(self, amt: u64) -> Skip<Self> where
Self: Sized,
[src]
Self: Sized,
fn fuse(self) -> Fuse<Self> where
Self: Sized,
[src]
Self: Sized,
fn by_ref(&mut self) -> &mut Self where
Self: Sized,
[src]
Self: Sized,
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: Sized + UnwindSafe,
[src]
Self: Sized + UnwindSafe,
fn buffered(self, amt: usize) -> Buffered<Self> where
Self::Item: IntoFuture<Error = Self::Error>,
Self: Sized,
[src]
Self::Item: IntoFuture<Error = Self::Error>,
Self: Sized,
fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where
Self::Item: IntoFuture<Error = Self::Error>,
Self: Sized,
[src]
Self::Item: IntoFuture<Error = Self::Error>,
Self: Sized,
fn merge<S>(self, other: S) -> Merge<Self, S> where
S: Stream<Error = Self::Error>,
Self: Sized,
[src]
S: Stream<Error = Self::Error>,
Self: Sized,
fn zip<S>(self, other: S) -> Zip<Self, S> where
S: Stream<Error = Self::Error>,
Self: Sized,
[src]
S: Stream<Error = Self::Error>,
Self: Sized,
fn chain<S>(self, other: S) -> Chain<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
[src]
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
fn peekable(self) -> Peekable<Self> where
Self: Sized,
[src]
Self: Sized,
fn chunks(self, capacity: usize) -> Chunks<Self> where
Self: Sized,
[src]
Self: Sized,
fn select<S>(self, other: S) -> Select<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
[src]
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
fn forward<S>(self, sink: S) -> Forward<Self, S> where
S: Sink<SinkItem = Self::Item>,
Self::Error: From<S::SinkError>,
Self: Sized,
[src]
S: Sink<SinkItem = Self::Item>,
Self::Error: From<S::SinkError>,
Self: Sized,
fn split(self) -> (SplitSink<Self>, SplitStream<Self>) where
Self: Sink + Sized,
[src]
Self: Sink + Sized,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
Self: Sized,
[src]
F: FnMut(&Self::Item),
Self: Sized,
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
F: FnMut(&Self::Error),
Self: Sized,
[src]
F: FnMut(&Self::Error),
Self: Sized,
Auto Trait Implementations
impl<S, U, F, Fut> RefUnwindSafe for With<S, U, F, Fut> where
F: RefUnwindSafe,
S: RefUnwindSafe,
<Fut as IntoFuture>::Future: RefUnwindSafe,
<S as Sink>::SinkItem: RefUnwindSafe,
F: RefUnwindSafe,
S: RefUnwindSafe,
<Fut as IntoFuture>::Future: RefUnwindSafe,
<S as Sink>::SinkItem: RefUnwindSafe,
impl<S, U, F, Fut> Send for With<S, U, F, Fut> where
F: Send,
S: Send,
<Fut as IntoFuture>::Future: Send,
<S as Sink>::SinkItem: Send,
F: Send,
S: Send,
<Fut as IntoFuture>::Future: Send,
<S as Sink>::SinkItem: Send,
impl<S, U, F, Fut> Sync for With<S, U, F, Fut> where
F: Sync,
S: Sync,
<Fut as IntoFuture>::Future: Sync,
<S as Sink>::SinkItem: Sync,
F: Sync,
S: Sync,
<Fut as IntoFuture>::Future: Sync,
<S as Sink>::SinkItem: Sync,
impl<S, U, F, Fut> Unpin for With<S, U, F, Fut> where
F: Unpin,
S: Unpin,
<Fut as IntoFuture>::Future: Unpin,
<S as Sink>::SinkItem: Unpin,
F: Unpin,
S: Unpin,
<Fut as IntoFuture>::Future: Unpin,
<S as Sink>::SinkItem: Unpin,
impl<S, U, F, Fut> UnwindSafe for With<S, U, F, Fut> where
F: UnwindSafe,
S: UnwindSafe,
<Fut as IntoFuture>::Future: UnwindSafe,
<S as Sink>::SinkItem: UnwindSafe,
F: UnwindSafe,
S: UnwindSafe,
<Fut as IntoFuture>::Future: UnwindSafe,
<S as Sink>::SinkItem: 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,
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> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
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.
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>,