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]
impl HeadersFramepub fn new(fragment: Vec<u8>, stream_id: StreamId) -> HeadersFrame[src]
pub fn new(fragment: Vec<u8>, stream_id: StreamId) -> HeadersFrameCreates a new HeadersFrame with the given header fragment and stream
ID. No padding, no stream dependency, and no flags are set.
pub fn with_dependency(
fragment: Vec<u8>,
stream_id: StreamId,
stream_dep: StreamDependency
) -> HeadersFrame[src]
pub fn with_dependency(
fragment: Vec<u8>,
stream_id: StreamId,
stream_dep: StreamDependency
) -> HeadersFrameCreates a new HeadersFrame with the given header fragment, stream ID
and stream dependency information. No padding and no flags are set.
pub fn is_headers_end(&self) -> bool[src]
pub fn is_headers_end(&self) -> boolReturns 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.
pub fn is_end_of_stream(&self) -> bool[src]
pub fn is_end_of_stream(&self) -> boolReturns whther this frame ends the stream it is associated with.
pub fn set_padding(&mut self, padding_len: u8)[src]
pub 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]
impl PartialEq for HeadersFramefn eq(&self, other: &HeadersFrame) -> bool[src]
fn eq(&self, other: &HeadersFrame) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &HeadersFrame) -> bool[src]
fn ne(&self, other: &HeadersFrame) -> boolThis method tests for !=.
impl Debug for HeadersFrame[src]
impl Debug for HeadersFramefn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Clone for HeadersFrame[src]
impl Clone for HeadersFramefn clone(&self) -> HeadersFrame[src]
fn clone(&self) -> HeadersFrameReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Frame for HeadersFrame[src]
impl Frame for HeadersFrametype 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>[src]
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[src]
fn is_set(&self, flag: HeadersFlag) -> boolTests if the given flag is set for the frame.
fn get_stream_id(&self) -> StreamId[src]
fn get_stream_id(&self) -> StreamIdReturns 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[src]
fn get_header(&self) -> FrameHeaderReturns a FrameHeader based on the current state of the Frame.
fn set_flag(&mut self, flag: HeadersFlag)[src]
fn set_flag(&mut self, flag: HeadersFlag)Sets the given flag for the frame.
fn serialize(&self) -> Vec<u8>[src]
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).
Auto Trait Implementations
impl Send for HeadersFrame
impl Send for HeadersFrameimpl Sync for HeadersFrame
impl Sync for HeadersFrame