Trait twist::extension::PerMessage
[−]
[src]
pub trait PerMessage: Header + Send { fn enabled(&self) -> bool; fn reserve_rsv(&self, reserved_rsv: u8) -> Result<u8, Error>; fn decode(&self, message: &mut Frame) -> Result<(), Error>; fn encode(&self, message: &mut Frame) -> Result<(), Error>; }
A per-message extension.
Required Methods
fn enabled(&self) -> bool
Is this extension enabled? This should return true if you are able to support the given
Sec-WebSocket-Extensions
header parameters. It should return false otherwise.
fn reserve_rsv(&self, reserved_rsv: u8) -> Result<u8, Error>
Reserve rsvX
bits for use by your extension. Valid values are 0 - 8 (no rsv bits
reserved, up to all 3). If your bits are already reserved by an extension earlier in the
chain, return an io::Error.
fn decode(&self, message: &mut Frame) -> Result<(), Error>
Transform the given application data/extension data bytes as necessary.
fn encode(&self, message: &mut Frame) -> Result<(), Error>
Transform the given bytes into application/extension data bytes as necessary.