Struct Fuse

#[must_use = "streams do nothing unless polled"]
pub struct Fuse<St> { /* private fields */ }

Stream for the fuse method.

Implementations

impl<St> Fuse<St>

fn is_done(&self) -> bool

Returns whether the underlying stream has finished or not.

If this method returns true, then all future calls to poll are guaranteed to return None. If this returns false, then the underlying stream is still in use.

fn get_ref(&self) -> &St

Acquires a reference to the underlying sink or stream that this combinator is pulling from.

fn get_mut(&mut self) -> &mut St

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.

fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut St>

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.

fn into_inner(self) -> St

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

impl<'__pin, St> Unpin for Fuse<St> where PinnedFieldsOf<__Origin<'__pin, St>>: Unpin,

impl<S: Stream + Sink<Item>, Item> Sink<Item> for Fuse<S>

type Error = <S as Sink<Item>>::Error;
fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
fn start_send(self: Pin<&mut Self>, item: Item) -> Result<(), Self::Error>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

impl<S: Stream> FusedStream for Fuse<S>

fn is_terminated(&self) -> bool

impl<S: Stream> Stream for Fuse<S>

type Item = <S as Stream>::Item;
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<S::Item>>
fn size_hint(&self) -> (usize, Option<usize>)

impl<St: Debug> Debug for Fuse<St>

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl<St> Freeze for Fuse<St> where St: Freeze,

impl<St> RefUnwindSafe for Fuse<St> where St: RefUnwindSafe,

impl<St> Send for Fuse<St> where St: Send,

impl<St> Sync for Fuse<St> where St: Sync,

impl<St> UnsafeUnpin for Fuse<St> where St: UnsafeUnpin,

impl<St> UnwindSafe for Fuse<St> where St: UnwindSafe,

Blanket Implementations

impl<S> TryStreamExt for Fuse<St> where S: TryStream + ?Sized,

impl<S, T, E> TryStream for Fuse<St> where S: Stream<Item = Result<T, E>> + ?Sized,

type Ok = T;
type Error = E;
fn try_poll_next(self: Pin<&mut S>, cx: &mut Context<'_>) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for Fuse<St>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> StreamExt for Fuse<St> where T: Stream + ?Sized,

impl<T, Item> SinkExt<Item> for Fuse<St> where T: Sink<Item> + ?Sized,

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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