[][src]Struct ws_frame::Frame

pub struct Frame<'buf> {
    pub head: Option<Head>,
    pub mask: Option<[u8; 4]>,
    pub payload: Option<&'buf [u8]>,
}

A decoded Frame.

The optional values will be None if a decode was not complete, and did not decode the associated property. This allows you to inspect the parts that could be decoded, before reading more.

Example

use ws_frame::Frame;
 
let buf = &[0b10000010, 0b00000001];
let mut f = Frame::empty();
 
if f.decode(buf).is_partial() {
    match f.head {
        Some(head) => assert_eq!([false; 3], head.rsv),
        None => {
            // read more and decode again
        }
    }
}

Fields

head: Option<Head>

The head section of a frame.

mask: Option<[u8; 4]>

An optional mask key to apply over the payload.

payload: Option<&'buf [u8]>

The payload section of a frame.

An empty payload is represented as Some(&[]).

Methods

impl<'buf> Frame<'buf>[src]

pub const fn empty() -> Self[src]

Creates a new Frame.

pub fn decode(&mut self, buf: &'buf [u8]) -> Status[src]

Try to decode a buffer of bytes into this Frame.

Trait Implementations

impl<'buf> PartialEq<Frame<'buf>> for Frame<'buf>[src]

impl<'buf> Debug for Frame<'buf>[src]

Auto Trait Implementations

impl<'buf> Unpin for Frame<'buf>

impl<'buf> Sync for Frame<'buf>

impl<'buf> Send for Frame<'buf>

impl<'buf> UnwindSafe for Frame<'buf>

impl<'buf> RefUnwindSafe for Frame<'buf>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]