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.

fn into(self) -> Vec<u8>

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.

fn from(raw: Vec<u8>) -> RawFrame

Derived Implementations

impl PartialEq for RawFrame

fn eq(&self, __arg_0: &RawFrame) -> bool

fn ne(&self, __arg_0: &RawFrame) -> bool

impl Debug for RawFrame

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Clone for RawFrame

fn clone(&self) -> RawFrame

fn clone_from(&mut self, source: &Self)