Skip to main content

StreamBody

Struct StreamBody 

Source
pub struct StreamBody<T> { /* private fields */ }
Expand description

Bidirectional adapter between Stream and Body at the Frame level:

  • When the inner value implements Body, this type implements Stream yielding Result<Frame<Body::Data>, Body::Error>.
  • When the inner value implements Stream, this type implements Body forwarding each Result<Frame<D>, E> frame as-is.

Implementations§

Source§

impl<T> StreamBody<T>

Source

pub fn new(value: T) -> Self

Trait Implementations§

Source§

impl<S, D, E> Body for StreamBody<S>
where S: Stream<Item = Result<Frame<D>, E>>,

Source§

type Data = D

The payload data type yielded by Frame::Data variants.
Source§

type Error = E

The error type that can occur while producing frames.
Source§

fn poll_frame( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Result<Frame<Self::Data>, Self::Error>>>

Attempt to pull the next frame from the body. Read more
Source§

fn is_end_stream(&self) -> bool

Indicates whether the body has been fully consumed. Read more
Source§

fn size_hint(&self) -> SizeHint

Returns a hint about the total size of the remaining Frame::Data payload. Read more
Source§

impl<T: Debug> Debug for StreamBody<T>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<B> Stream for StreamBody<B>
where B: Body,

Source§

type Item = Result<Frame<<B as Body>::Data>, <B as Body>::Error>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value 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) -> (usize, Option<usize>)

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

impl<'__pin, T> Unpin for StreamBody<T>
where PinnedFieldsOf<__Origin<'__pin, T>>: Unpin,

Auto Trait Implementations§

§

impl<T> Freeze for StreamBody<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for StreamBody<T>
where T: RefUnwindSafe,

§

impl<T> Send for StreamBody<T>
where T: Send,

§

impl<T> Sync for StreamBody<T>
where T: Sync,

§

impl<T> UnsafeUnpin for StreamBody<T>
where T: UnsafeUnpin,

§

impl<T> UnwindSafe for StreamBody<T>
where 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<B> BodyExt for B
where B: Body,

Source§

fn frame(&mut self) -> FrameFuture<'_, Self>
where Self: Unpin,

Source§

fn data(&mut self) -> DataFuture<'_, Self>
where Self: Unpin,

Source§

fn chain<B>(self, other: B) -> ChainBody<Self, B>
where B: Body<Data = Self::Data>, Self: Sized, Self::Error: From<B::Error>,

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.
Source§

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

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

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

Poll this TryStream as if it were a Stream. Read more