Struct solicit::http::frame::RawFrame
[−]
[src]
pub struct RawFrame { // some fields omitted }
A struct that defines the format of the raw HTTP/2 frame, i.e. the frame as it is read from the wire.
This format is defined in section 4.1. of the HTTP/2 spec.
The RawFrame
struct simply stores the raw components of an HTTP/2 frame:
its header and the payload as a sequence of bytes.
It does not try to interpret the payload bytes, nor do any validation in terms of its validity based on the frame type given in the header. It is simply a wrapper around the two parts of an HTTP/2 frame.
Methods
impl RawFrame
fn new(header: FrameHeader) -> RawFrame
Creates a new RawFrame
with the given FrameHeader
. The payload is
left empty.
fn with_payload(header: FrameHeader, payload: Vec<u8>) -> RawFrame
Creates a new RawFrame
with the given header and payload.
Does not do any validation to determine whether the frame is in a correct
state as constructed.
fn from_buf(buf: &[u8]) -> Option<RawFrame>
Creates a new RawFrame
by parsing the given buffer.
Returns
A RawFrame
instance constructed from the given buffer.
If the buffer cannot be parsed into a frame, which includes the payload
section having a different length than what was found in the header,
None
is returned.
fn serialize(&self) -> Vec<u8>
Returns a Vec
of bytes representing the serialized (on-the-wire)
representation of this raw frame.
fn header(&self) -> FrameHeader
Returns a FrameHeader
instance corresponding to the headers of the
RawFrame
.
fn payload(&self) -> &[u8]
Returns a slice representing the payload of the RawFrame
.
Trait Implementations
impl Into<Vec<u8>> for RawFrame
Provide a conversion into a Vec
.
impl From<Vec<u8>> for RawFrame
Provide a conversion from a Vec
.
This conversion is unchecked and could cause the resulting RawFrame
to be an
invalid HTTP/2 frame.