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) -> WebSocketResult<()>;
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,
) -> WebSocketResult<()> { ... }
}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§
Sourcefn write_payload(&self, socket: &mut dyn Write) -> WebSocketResult<()>
fn write_payload(&self, socket: &mut dyn Write) -> WebSocketResult<()>
Write the payload to a writer
Sourcefn take_payload(self) -> Vec<u8> ⓘ
fn take_payload(self) -> Vec<u8> ⓘ
Takes the payload out into a vec
Provided Methods§
Sourcefn frame_size(&self, masked: bool) -> usize
fn frame_size(&self, masked: bool) -> usize
Get’s the size of the entire dataframe in bytes, i.e. header and payload.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".