Struct FinishedStream

Source
pub struct FinishedStream { /* private fields */ }
Expand description

A stream that has yielded all the items it ever will.

The underlying stream will only be dropped by explicitly removing it from the associated StreamUnordered. This method is marked as #[must_use] to ensure that you either remove the stream immediately, or you explicitly ask for it to be kept around for later use.

If the FinishedStream is dropped, the exhausted stream will not be dropped until the owning StreamUnordered is.

Implementations§

Source§

impl FinishedStream

Source

pub fn remove<S>(self, so: Pin<&mut StreamUnordered<S>>)

Remove the exhausted stream.

See StreamUnordered::remove.

Source

pub fn take<S>(self, so: Pin<&mut StreamUnordered<S>>) -> Option<S>
where S: Unpin,

Take the exhausted stream.

Note that this requires S: Unpin since it moves the stream even though it has already been pinned by StreamUnordered.

See StreamUnordered::take.

Source

pub fn keep(self)

Leave the exhausted stream in the StreamUnordered.

This allows you to continue to access the stream through StreamUnordered::get_mut and friends should you need to perform further operations on it (e.g., if it is also being used as a Sink). Note that the stream will then not be dropped until you explicitly remove or take it from the StreamUnordered.

Source

pub fn token(self) -> usize

Return the token associated with the exhausted stream.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.