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

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.

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.

Transform the given application data/extension data bytes as necessary.

Transform the given bytes into application/extension data bytes as necessary.

Implementors