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: Vec<u8>
The header fragment bytes stored within the frame.
stream_id: StreamId
The ID of the stream with which this frame is associated
stream_dep: Option<StreamDependency>
The stream dependency information, if any.
padding_len: Option<u8>
The length of the padding, if any.
Methods
impl HeadersFrame
[src]
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 PartialEq for HeadersFrame
[src]
fn eq(&self, __arg_0: &HeadersFrame) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &HeadersFrame) -> bool
This method tests for !=
.
impl Debug for HeadersFrame
[src]
impl Clone for HeadersFrame
[src]
fn clone(&self) -> HeadersFrame
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Frame for HeadersFrame
[src]
type FlagType = HeadersFlag
The type that represents the flags that the particular Frame
can take.
This makes sure that only valid Flag
s 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
).