RawFrame

Struct RawFrame 

Source
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

Source

pub fn new(header: FrameHeader) -> RawFrame

Creates a new RawFrame with the given FrameHeader. The payload is left empty.

Source

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.

Source

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.

Source

pub fn serialize(&self) -> Vec<u8>

Returns a Vec of bytes representing the serialized (on-the-wire) representation of this raw frame.

Source

pub fn header(&self) -> FrameHeader

Returns a FrameHeader instance corresponding to the headers of the RawFrame.

Source

pub fn payload(&self) -> &[u8]

Returns a slice representing the payload of the RawFrame.

Trait Implementations§

Source§

impl Clone for RawFrame

Source§

fn clone(&self) -> RawFrame

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RawFrame

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

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.

Source§

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

Converts to this type from the input type.
Source§

impl Into<Vec<u8>> for RawFrame

Provide a conversion into a Vec.

Source§

fn into(self) -> Vec<u8>

Converts this type into the (usually inferred) input type.
Source§

impl PartialEq for RawFrame

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for RawFrame

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.