tokio_buf::util

Struct Chain

Source
pub struct Chain<T, U> { /* private fields */ }
Expand description

A buf stream that sequences two buf streams together.

Chain values are produced by the chain function on BufStream.

Trait Implementations§

Source§

impl<T, U> BufStream for Chain<T, U>
where T: BufStream, U: BufStream<Error = T::Error>,

Source§

type Item = Either<<T as BufStream>::Item, <U as BufStream>::Item>

Values yielded by the BufStream. Read more
Source§

type Error = <T as BufStream>::Error

The error type this BufStream might generate.
Source§

fn poll_buf(&mut self) -> Poll<Option<Self::Item>, Self::Error>

Attempt to pull out the next buffer of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> SizeHint

Returns the bounds on the remaining length of the stream. Read more
Source§

impl<T: Debug, U: Debug> Debug for Chain<T, U>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T, U> Freeze for Chain<T, U>
where U: Freeze, T: Freeze,

§

impl<T, U> RefUnwindSafe for Chain<T, U>

§

impl<T, U> Send for Chain<T, U>
where U: Send, T: Send,

§

impl<T, U> Sync for Chain<T, U>
where U: Sync, T: Sync,

§

impl<T, U> Unpin for Chain<T, U>
where U: Unpin, T: Unpin,

§

impl<T, U> UnwindSafe for Chain<T, U>
where U: UnwindSafe, T: UnwindSafe,

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> BufStreamExt for T
where T: BufStream,

Source§

fn chain<T>(self, other: T) -> Chain<Self, T>
where Self: Sized, T: BufStream<Error = Self::Error>,

Takes two buf streams and creates a new buf stream over both in sequence. Read more
Source§

fn collect<T>(self) -> Collect<Self, T>
where Self: Sized, T: FromBufStream<Self::Item>,

Consumes all data from self, storing it in byte storage of type T. Read more
Source§

fn limit(self, amount: u64) -> Limit<Self>
where Self: Sized,

Limit the number of bytes that the stream can yield. Read more
Source§

fn into_stream(self) -> IntoStream<Self>
where Self: Sized,

Creates a Stream from a BufStream. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.