pub trait DataFrame {
    // Required methods
    fn is_last(&self) -> bool;
    fn opcode(&self) -> u8;
    fn reserved(&self) -> &[bool; 3];
    fn size(&self) -> usize;
    fn write_payload(
        &self,
        socket: &mut dyn Write
    ) -> Result<(), WebSocketError>;
    fn take_payload(self) -> Vec<u8> ;

    // Provided methods
    fn frame_size(&self, masked: bool) -> usize { ... }
    fn write_to(
        &self,
        writer: &mut dyn Write,
        mask: bool
    ) -> Result<(), WebSocketError> { ... }
}
Expand description

A generic DataFrame. Every dataframe should be able to provide these methods. (If the payload is not known in advance then rewrite the write_payload method)

Required Methods§

source

fn is_last(&self) -> bool

Is this dataframe the final dataframe of the message?

source

fn opcode(&self) -> u8

What type of data does this dataframe contain?

source

fn reserved(&self) -> &[bool; 3]

Reserved bits of this dataframe

source

fn size(&self) -> usize

How long (in bytes) is this dataframe’s payload

source

fn write_payload(&self, socket: &mut dyn Write) -> Result<(), WebSocketError>

Write the payload to a writer

source

fn take_payload(self) -> Vec<u8>

Takes the payload out into a vec

Provided Methods§

source

fn frame_size(&self, masked: bool) -> usize

Get’s the size of the entire dataframe in bytes, i.e. header and payload.

source

fn write_to( &self, writer: &mut dyn Write, mask: bool ) -> Result<(), WebSocketError>

Writes a DataFrame to a Writer.

Implementors§