Struct solicit::http::frame::headers::HeadersFrame [] [src]

pub struct HeadersFrame {
    pub header_fragment: Vec<u8>,
    pub stream_id: StreamId,
    pub stream_dep: Option<StreamDependency>,
    pub padding_len: Option<u8>,
    // some fields omitted
}

A struct representing the HEADERS frames of HTTP/2, as defined in the HTTP/2 spec, section 6.2.

Fields

header_fragment

The header fragment bytes stored within the frame.

stream_id

The ID of the stream with which this frame is associated

stream_dep

The stream dependency information, if any.

padding_len

The length of the padding, if any.

Methods

impl HeadersFrame

fn new(fragment: Vec<u8>, stream_id: StreamId) -> HeadersFrame

Creates a new HeadersFrame with the given header fragment and stream ID. No padding, no stream dependency, and no flags are set.

fn with_dependency(fragment: Vec<u8>, stream_id: StreamId, stream_dep: StreamDependency) -> HeadersFrame

Creates a new HeadersFrame with the given header fragment, stream ID and stream dependency information. No padding and no flags are set.

fn is_headers_end(&self) -> bool

Returns whether this frame ends the headers. If not, there MUST be a number of follow up CONTINUATION frames that send the rest of the header data.

fn is_end_of_stream(&self) -> bool

Returns whther this frame ends the stream it is associated with.

fn set_padding(&mut self, padding_len: u8)

Sets the padding length for the frame, as well as the corresponding Padded flag.

Trait Implementations

impl Frame for HeadersFrame

type FlagType = HeadersFlag

The type that represents the flags that the particular Frame can take. This makes sure that only valid Flags are used with each Frame.

fn from_raw(raw_frame: RawFrame) -> Option<HeadersFrame>

Creates a new HeadersFrame with the given RawFrame (i.e. header and payload), if possible.

Returns

None if a valid HeadersFrame cannot be constructed from the given RawFrame. The stream ID must not be 0.

Otherwise, returns a newly constructed HeadersFrame.

fn is_set(&self, flag: HeadersFlag) -> bool

Tests if the given flag is set for the frame.

fn get_stream_id(&self) -> StreamId

Returns the StreamId of the stream to which the frame is associated.

A SettingsFrame always has to be associated to stream 0.

fn get_header(&self) -> FrameHeader

Returns a FrameHeader based on the current state of the Frame.

fn set_flag(&mut self, flag: HeadersFlag)

Sets the given flag for the frame.

fn serialize(&self) -> Vec<u8>

Returns a Vec with the serialized representation of the frame.

Panics

If the HeadersFlag::Priority flag was set, but no stream dependency information is given (i.e. stream_dep is None).

Derived Implementations

impl PartialEq for HeadersFrame

fn eq(&self, __arg_0: &HeadersFrame) -> bool

fn ne(&self, __arg_0: &HeadersFrame) -> bool

impl Debug for HeadersFrame

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Clone for HeadersFrame

fn clone(&self) -> HeadersFrame

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