Struct h2::frame::data::Data

source ·
pub struct Data<T = Bytes> {
    stream_id: StreamId,
    data: T,
    flags: DataFlags,
    pad_len: Option<u8>,
}
Expand description

Data frame

Data frames convey arbitrary, variable-length sequences of octets associated with a stream. One or more DATA frames are used, for instance, to carry HTTP request or response payloads.

Fields§

§stream_id: StreamId§data: T§flags: DataFlags§pad_len: Option<u8>

Implementations§

source§

impl<T> Data<T>

source

pub fn new(stream_id: StreamId, payload: T) -> Self

Creates a new DATA frame.

source

pub fn stream_id(&self) -> StreamId

Returns the stream identifier that this frame is associated with.

This cannot be a zero stream identifier.

source

pub fn is_end_stream(&self) -> bool

Gets the value of the END_STREAM flag for this frame.

If true, this frame is the last that the endpoint will send for the identified stream.

Setting this flag causes the stream to enter one of the “half-closed” states or the “closed” state (Section 5.1).

source

pub fn set_end_stream(&mut self, val: bool)

Sets the value for the END_STREAM flag on this frame.

source

pub fn payload(&self) -> &T

Returns a reference to this frame’s payload.

This does not include any padding that might have been originally included.

source

pub fn payload_mut(&mut self) -> &mut T

Returns a mutable reference to this frame’s payload.

This does not include any padding that might have been originally included.

source

pub fn into_payload(self) -> T

Consumes self and returns the frame’s payload.

This does not include any padding that might have been originally included.

source

pub(crate) fn head(&self) -> Head

source

pub(crate) fn map<F, U>(self, f: F) -> Data<U>
where F: FnOnce(T) -> U,

source§

impl Data<Bytes>

source

pub(crate) fn load(head: Head, payload: Bytes) -> Result<Self, Error>

source§

impl<T: Buf> Data<T>

source

pub(crate) fn encode_chunk<U: BufMut>(&mut self, dst: &mut U)

Encode the data frame into the dst buffer.

§Panics

Panics if dst cannot contain the data frame.

Trait Implementations§

source§

impl<T> Debug for Data<T>

source§

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

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

impl<T> From<Data<T>> for Frame<T>

source§

fn from(src: Data<T>) -> Self

Converts to this type from the input type.
source§

impl<T: PartialEq> PartialEq for Data<T>

source§

fn eq(&self, other: &Data<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Eq> Eq for Data<T>

source§

impl<T> StructuralPartialEq for Data<T>

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

impl<T> Unpin for Data<T>
where T: Unpin,

§

impl<T> UnwindSafe for Data<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<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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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, 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