Struct Frame

pub struct Frame<T> { /* private fields */ }

A frame of any kind related to an HTTP stream (body).

Implementations

impl<T> Frame<T>

fn data(buf: T) -> Self

Create a DATA frame with the provided Buf.

fn trailers(map: HeaderMap) -> Self

Create a trailers frame.

fn map_data<F, D>(self, f: F) -> Frame<D>
where
    F: FnOnce(T) -> D,

Maps this frame's data to a different type.

fn is_data(&self) -> bool

Returns whether this is a DATA frame.

fn into_data(self) -> Result<T, Self>

Consumes self into the buf of the DATA frame.

Returns an Err containing the original Frame when frame is not a DATA frame. Frame::is_data can also be used to determine if the frame is a DATA frame.

fn data_ref(&self) -> Option<&T>

If this is a DATA frame, returns a reference to it.

Returns None if not a DATA frame.

fn data_mut(&mut self) -> Option<&mut T>

If this is a DATA frame, returns a mutable reference to it.

Returns None if not a DATA frame.

fn is_trailers(&self) -> bool

Returns whether this is a trailers frame.

fn into_trailers(self) -> Result<HeaderMap, Self>

Consumes self into the buf of the trailers frame.

Returns an Err containing the original Frame when frame is not a trailers frame. Frame::is_trailers can also be used to determine if the frame is a trailers frame.

fn trailers_ref(&self) -> Option<&HeaderMap>

If this is a trailers frame, returns a reference to it.

Returns None if not a trailers frame.

fn trailers_mut(&mut self) -> Option<&mut HeaderMap>

If this is a trailers frame, returns a mutable reference to it.

Returns None if not a trailers frame.

Trait Implementations

impl<T: Debug> Debug for Frame<T>

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

Auto Trait Implementations

impl<T> Freeze for Frame<T> where Kind<T>: Freeze,

impl<T> RefUnwindSafe for Frame<T> where Kind<T>: RefUnwindSafe,

impl<T> Send for Frame<T> where Kind<T>: Send,

impl<T> Sync for Frame<T> where Kind<T>: Sync,

impl<T> Unpin for Frame<T> where Kind<T>: Unpin,

impl<T> UnsafeUnpin for Frame<T> where Kind<T>: UnsafeUnpin,

impl<T> UnwindSafe for Frame<T> where Kind<T>: UnwindSafe,

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for Frame<T>

fn from(t: T) -> T

Returns the argument unchanged.

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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