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
impl RecvStream
Sourcepub async fn trailers(&mut self) -> Result<Option<HeaderMap>, Error>
pub async fn trailers(&mut self) -> Result<Option<HeaderMap>, Error>
Get optional trailers for this stream.
Sourcepub fn poll_data(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Option<Result<Bytes, Error>>>
pub fn poll_data( &mut self, cx: &mut Context<'_>, ) -> Poll<Option<Result<Bytes, Error>>>
Poll for the next data frame.
Sourcepub fn is_end_stream(&self) -> bool
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
.
Sourcepub fn flow_control(&mut self) -> &mut FlowControl
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.
Trait Implementations§
Source§impl Debug for RecvStream
impl Debug for RecvStream
Auto Trait Implementations§
impl Freeze for RecvStream
impl RefUnwindSafe for RecvStream
impl Send for RecvStream
impl Sync for RecvStream
impl Unpin for RecvStream
impl UnwindSafe for RecvStream
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes