[−][src]Trait solicit::http::frame::Frame
A trait that all HTTP/2 frame structs need to implement.
Associated Types
type FlagType: Flag
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
.
Required methods
fn from_raw(raw_frame: &'a RawFrame<'a>) -> Option<Self>
Creates a new Frame
from the given RawFrame
(i.e. header and
payload), if possible.
Returns
None
if a valid Frame
cannot be constructed from the given
RawFrame
. Some reasons why this may happen is a wrong frame type in
the header, a body that cannot be decoded according to the particular
frame's rules, etc.
Otherwise, returns a newly constructed Frame
.
fn is_set(&self, flag: Self::FlagType) -> 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
fn get_header(&self) -> FrameHeader
Returns a FrameHeader
based on the current state of the Frame
.
Implementors
impl<'a> Frame<'a> for DataFrame<'a>
[src]
type FlagType = DataFlag
fn from_raw(raw_frame: &'a RawFrame<'a>) -> Option<DataFrame<'a>>
[src]
Creates a new DataFrame
from the given RawFrame
(i.e. header and
payload), if possible. Returns None
if a valid DataFrame
cannot be
constructed from the given RawFrame
.
fn is_set(&self, flag: DataFlag) -> bool
[src]
Tests if the given flag is set for the frame.
fn get_stream_id(&self) -> StreamId
[src]
Returns the StreamId
of the stream to which the frame is associated.
fn get_header(&self) -> FrameHeader
[src]
Returns a FrameHeader
based on the current state of the frame.
impl<'a> Frame<'a> for GoawayFrame<'a>
[src]
type FlagType = NoFlag
fn from_raw(raw_frame: &'a RawFrame<'a>) -> Option<Self>
[src]
fn is_set(&self, _: NoFlag) -> bool
[src]
fn get_stream_id(&self) -> StreamId
[src]
fn get_header(&self) -> FrameHeader
[src]
impl<'a> Frame<'a> for HeadersFrame<'a>
[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: &'a RawFrame) -> Option<HeadersFrame<'a>>
[src]
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]
Tests if the given flag is set for the frame.
fn get_stream_id(&self) -> StreamId
[src]
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
[src]
Returns a FrameHeader
based on the current state of the Frame
.
impl<'a> Frame<'a> for PingFrame
[src]
type FlagType = PingFlag
fn from_raw(raw_frame: &'a RawFrame<'a>) -> Option<Self>
[src]
fn is_set(&self, flag: PingFlag) -> bool
[src]
fn get_stream_id(&self) -> StreamId
[src]
fn get_header(&self) -> FrameHeader
[src]
impl<'a> Frame<'a> for RstStreamFrame
[src]
type FlagType = NoFlag
fn from_raw(raw_frame: &'a RawFrame<'a>) -> Option<Self>
[src]
fn is_set(&self, _: NoFlag) -> bool
[src]
fn get_stream_id(&self) -> StreamId
[src]
fn get_header(&self) -> FrameHeader
[src]
impl<'a> Frame<'a> for SettingsFrame
[src]
type FlagType = SettingsFlag
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<SettingsFrame>
[src]
Creates a new SettingsFrame
with the given RawFrame
(i.e. header and
payload), if possible.
Returns
None
if a valid SettingsFrame
cannot be constructed from the given
RawFrame
. The stream ID must be 0 in order for the frame to be
valid. If the ACK
flag is set, there MUST not be a payload. The
total payload length must be multiple of 6.
Otherwise, returns a newly constructed SettingsFrame
.
fn is_set(&self, flag: SettingsFlag) -> bool
[src]
Tests if the given flag is set for the frame.
fn get_stream_id(&self) -> StreamId
[src]
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
[src]
Returns a FrameHeader
based on the current state of the Frame
.