ProtocolHandler

Trait ProtocolHandler 

Source
pub trait ProtocolHandler: Send + Sync {
    // Required methods
    fn protocol_id(&self) -> ProtocolId;
    fn handle_request(&mut self, request: &[u8]) -> Result<Vec<u8>>;

    // Provided methods
    fn capabilities(&self) -> ProtocolCapabilities { ... }
    fn initialize(&mut self) -> Result<()> { ... }
    fn shutdown(&mut self) -> Result<()> { ... }
}
Expand description

Protocol handler trait

Required Methods§

Source

fn protocol_id(&self) -> ProtocolId

Get protocol ID

Source

fn handle_request(&mut self, request: &[u8]) -> Result<Vec<u8>>

Handle incoming protocol request

Provided Methods§

Source

fn capabilities(&self) -> ProtocolCapabilities

Get protocol capabilities

Source

fn initialize(&mut self) -> Result<()>

Initialize the handler

Source

fn shutdown(&mut self) -> Result<()>

Shutdown the handler

Implementors§