Struct RecvStream

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

Receives the body stream and trailers from the remote peer.

A RecvStream is provided by client::ResponseFuture and server::Connection with the received HTTP/2 message head (the response and request head respectively).

A RecvStream instance is used to receive the streaming message body and any trailers from the remote peer. It is also used to manage inbound flow control.

See method level documentation for more details on receiving data. See FlowControl for more details on inbound flow control.

Implementations§

Source§

impl RecvStream

Source

pub async fn data(&mut self) -> Option<Result<Bytes, Error>>

Get the next data frame.

Source

pub async fn trailers(&mut self) -> Result<Option<HeaderMap>, Error>

Get optional trailers for this stream.

Source

pub fn poll_data( &mut self, cx: &Context<'_>, ) -> Poll<Option<Result<Bytes, Error>>>

Poll for the next data frame.

Source

pub fn is_end_stream(&self) -> bool

Returns true if the receive half has reached the end of stream.

A return value of true means that calls to poll and poll_trailers will both return None.

Source

pub fn flow_control(&mut self) -> &mut FlowControl

Get a mutable reference to this stream’s FlowControl.

It can be used immediately, or cloned to be used later.

Source

pub fn stream_id(&self) -> StreamId

Returns the stream ID of this stream.

§Panics

If the lock on the stream store has been poisoned.

Trait Implementations§

Source§

impl Body for RecvStream

Source§

type Data = Bytes

Source§

type Error = Error

Source§

async fn next_data(&mut self) -> Option<Result<Self::Data, Self::Error>>

Source§

fn stream_hint(&self) -> StreamHint

Source§

impl Clone for RecvStream

Source§

fn clone(&self) -> RecvStream

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RecvStream

Source§

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

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

impl Drop for RecvStream

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<RecvStream> for HttpBody

Source§

fn from(p: RecvStream) -> Self

Converts to this type from the input type.

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> BodyExt for T
where T: Body<Data = Bytes>,

Source§

async fn bytes(self) -> Result<Bytes, <T as Body>::Error>

Consumes body and return continous memory
Source§

async fn chunks(self) -> Result<SmallVec<[Bytes; 16]>, <T as Body>::Error>

Return bytes array
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more