pub struct RawFrame { /* private fields */ }Expand description
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.
Implementations§
Source§impl RawFrame
impl RawFrame
Sourcepub fn new(header: FrameHeader) -> RawFrame
pub fn new(header: FrameHeader) -> RawFrame
Creates a new RawFrame with the given FrameHeader. The payload is
left empty.
Sourcepub fn with_payload(header: FrameHeader, payload: Vec<u8>) -> RawFrame
pub 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.
Sourcepub fn from_buf(buf: &[u8]) -> Option<RawFrame>
pub 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.
Sourcepub fn serialize(&self) -> Vec<u8> ⓘ
pub fn serialize(&self) -> Vec<u8> ⓘ
Returns a Vec of bytes representing the serialized (on-the-wire)
representation of this raw frame.
Sourcepub fn header(&self) -> FrameHeader
pub fn header(&self) -> FrameHeader
Returns a FrameHeader instance corresponding to the headers of the
RawFrame.
Trait Implementations§
Source§impl From<Vec<u8>> for RawFrame
Provide a conversion from 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.