pub trait Body {
type Data: Buf;
type Error;
// Required method
fn poll_frame(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Option<Result<Frame<Self::Data>, Self::Error>>>;
// Provided methods
fn is_end_stream(&self) -> bool { ... }
fn size_hint(&self) -> SizeHint { ... }
}
Expand description
Trait representing a streaming body of a Request or Response.
Individual frames are streamed via the poll_frame
function, which asynchronously yields
instances of Frame<Data>
.
Frames can contain a data buffer of type Self::Data
. Frames can also contain an optional
set of trailers used to finalize the request/response exchange. This is mostly used when using
the HTTP/2.0 protocol.
The size_hint
function provides insight into the total number of bytes that will be streamed.
Required Associated Types§
Required Methods§
Provided Methods§
fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns true
when the end of stream has been reached.
An end of stream means that poll_frame
will return None
.
A return value of false
does not guarantee that a value will be
returned from poll_frame
.