Struct futures_util::stream::TakeUntil [−][src]
#[must_use = "streams do nothing unless polled"]pub struct TakeUntil<St: Stream, Fut: Future> { /* fields omitted */ }
Expand description
Stream for the take_until
method.
Implementations
impl<St, Fut> TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]
impl<St, Fut> TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]pub fn get_ref(&self) -> &St
[src]
pub fn get_ref(&self) -> &St
[src]Acquires a reference to the underlying sink or stream that this combinator is pulling from.
pub fn get_mut(&mut self) -> &mut St
[src]
pub fn get_mut(&mut self) -> &mut St
[src]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.
pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut St>ⓘ
[src]
pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut St>ⓘ
[src]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.
pub fn into_inner(self) -> St
[src]
pub fn into_inner(self) -> St
[src]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.
pub fn take_future(&mut self) -> Option<Fut>
[src]
pub fn take_future(&mut self) -> Option<Fut>
[src]Extract the stopping future out of the combinator. The future is returned only if it isn’t resolved yet, ie. if the stream isn’t stopped yet. Taking out the future means the combinator will be yielding elements from the wrapped stream without ever stopping it.
pub fn take_result(&mut self) -> Option<Fut::Output>
[src]
pub fn take_result(&mut self) -> Option<Fut::Output>
[src]Once the stopping future is resolved, this method can be used to extract the value returned by the stopping future.
This may be used to retrieve arbitrary data from the stopping future, for example a reason why the stream was stopped.
This method will return None
if the future isn’t resolved yet,
or if the result was already taken out.
Examples
use futures::future; use futures::stream::{self, StreamExt}; use futures::task::Poll; let stream = stream::iter(1..=10); let mut i = 0; let stop_fut = future::poll_fn(|_cx| { i += 1; if i <= 5 { Poll::Pending } else { Poll::Ready("reason") } }); let mut stream = stream.take_until(stop_fut); let _ = stream.by_ref().collect::<Vec<_>>().await; let result = stream.take_result().unwrap(); assert_eq!(result, "reason");
pub fn is_stopped(&self) -> bool
[src]
pub fn is_stopped(&self) -> bool
[src]Whether the stream was stopped yet by the stopping future being resolved.
Trait Implementations
impl<St, Fut> Debug for TakeUntil<St, Fut> where
St: Stream + Debug,
St::Item: Debug,
Fut: Future + Debug,
[src]
impl<St, Fut> Debug for TakeUntil<St, Fut> where
St: Stream + Debug,
St::Item: Debug,
Fut: Future + Debug,
[src]impl<St, Fut> FusedStream for TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]
impl<St, Fut> FusedStream for TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]fn is_terminated(&self) -> bool
[src]
fn is_terminated(&self) -> bool
[src]Returns true
if the stream should no longer be polled.
impl<S, Fut, Item> Sink<Item> for TakeUntil<S, Fut> where
S: Stream + Sink<Item>,
Fut: Future,
[src]
impl<S, Fut, Item> Sink<Item> for TakeUntil<S, Fut> where
S: Stream + Sink<Item>,
Fut: Future,
[src]fn poll_ready(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
[src]
fn poll_ready(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
[src]Attempts to prepare the Sink
to receive a value. Read more
fn start_send(self: Pin<&mut Self>, item: Item) -> Result<(), Self::Error>
[src]
fn start_send(self: Pin<&mut Self>, item: Item) -> Result<(), Self::Error>
[src]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
impl<St, Fut> Stream for TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]
impl<St, Fut> Stream for TakeUntil<St, Fut> where
St: Stream,
Fut: Future,
[src]impl<'__pin, St: Stream, Fut: Future> Unpin for TakeUntil<St, Fut> where
__Origin<'__pin, St, Fut>: Unpin,
[src]
__Origin<'__pin, St, Fut>: Unpin,
Auto Trait Implementations
impl<St, Fut> RefUnwindSafe for TakeUntil<St, Fut> where
Fut: RefUnwindSafe,
St: RefUnwindSafe,
<Fut as Future>::Output: RefUnwindSafe,
Fut: RefUnwindSafe,
St: RefUnwindSafe,
<Fut as Future>::Output: RefUnwindSafe,
impl<St, Fut> Send for TakeUntil<St, Fut> where
Fut: Send,
St: Send,
<Fut as Future>::Output: Send,
Fut: Send,
St: Send,
<Fut as Future>::Output: Send,
impl<St, Fut> Sync for TakeUntil<St, Fut> where
Fut: Sync,
St: Sync,
<Fut as Future>::Output: Sync,
Fut: Sync,
St: Sync,
<Fut as Future>::Output: Sync,
impl<St, Fut> UnwindSafe for TakeUntil<St, Fut> where
Fut: UnwindSafe,
St: UnwindSafe,
<Fut as Future>::Output: UnwindSafe,
Fut: UnwindSafe,
St: UnwindSafe,
<Fut as Future>::Output: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
[src]
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
[src]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,
[src]
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,
[src]sink
only.Composes a function in front of the sink. Read more
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,
[src]
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,
[src]sink
only.Composes a function in front of the sink. Read more
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
Self: Sized,
[src]
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
Self: Sized,
[src]sink
only.Transforms the error returned by the sink.
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self: Sized,
Self::Error: Into<E>,
[src]
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self: Sized,
Self::Error: Into<E>,
[src]sink
only.Map this sink’s error to a different error type using the Into
trait. Read more
fn buffer(self, capacity: usize) -> Buffer<Self, Item> where
Self: Sized,
[src]
fn buffer(self, capacity: usize) -> Buffer<Self, Item> where
Self: Sized,
[src]sink
only.Adds a fixed-size buffer to the current sink. Read more
fn close(&mut self) -> Close<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
fn close(&mut self) -> Close<'_, Self, Item>ⓘ where
Self: Unpin,
[src]sink
only.Close the sink.
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Self: Sized,
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
[src]
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Self: Sized,
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
[src]sink
only.Fanout items to multiple sinks. Read more
fn flush(&mut self) -> Flush<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
fn flush(&mut self) -> Flush<'_, Self, Item>ⓘ where
Self: Unpin,
[src]sink
only.Flush the sink, processing all pending items. Read more
fn send(&mut self, item: Item) -> Send<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
fn send(&mut self, item: Item) -> Send<'_, Self, Item>ⓘ where
Self: Unpin,
[src]sink
only.A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>ⓘ where
Self: Unpin,
[src]
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>ⓘ where
Self: Unpin,
[src]sink
only.A future that completes after the given item has been received by the sink. Read more
fn send_all<'a, St: ?Sized>(
&'a mut self,
stream: &'a mut St
) -> SendAll<'a, Self, St>ⓘ where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin,
Self: Unpin,
[src]
fn send_all<'a, St: ?Sized>(
&'a mut self,
stream: &'a mut St
) -> SendAll<'a, Self, St>ⓘ where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin,
Self: Unpin,
[src]sink
only.A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
fn left_sink<Si2>(self) -> Either<Self, Si2>ⓘ where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
[src]
fn left_sink<Si2>(self) -> Either<Self, Si2>ⓘ where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
[src]sink
only.Wrap this sink in an Either
sink, making it the left-hand variant
of that Either
. Read more
fn right_sink<Si1>(self) -> Either<Si1, Self>ⓘ where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
[src]
fn right_sink<Si1>(self) -> Either<Si1, Self>ⓘ where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
[src]sink
only.Wrap this stream in an Either
stream, making it the right-hand variant
of that Either
. Read more
fn compat(self) -> CompatSink<Self, Item> where
Self: Sized + Unpin,
[src]
fn compat(self) -> CompatSink<Self, Item> where
Self: Sized + Unpin,
[src]sink
and compat
only.fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
[src]
fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
[src]sink
only.A convenience method for calling Sink::poll_ready
on Unpin
sink types. Read more
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error> where
Self: Unpin,
[src]
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error> where
Self: Unpin,
[src]sink
only.A convenience method for calling Sink::start_send
on Unpin
sink types. Read more