Trait NetworkProtocolHandler

Source
pub trait NetworkProtocolHandler: Sync + Send {
    // Required methods
    fn minimum_supported_version(&self) -> ProtocolVersion;
    fn initialize(&self, _io: &dyn NetworkContext);
    fn on_message(&self, io: &dyn NetworkContext, node_id: &NodeId, data: &[u8]);
    fn on_peer_connected(
        &self,
        io: &dyn NetworkContext,
        node_id: &NodeId,
        peer_protocol_version: ProtocolVersion,
        pos_public_key: Option<(ConsensusPublicKey, ConsensusVRFPublicKey)>,
    );
    fn on_peer_disconnected(&self, io: &dyn NetworkContext, node_id: &NodeId);
    fn on_timeout(&self, io: &dyn NetworkContext, timer: TimerToken);
    fn send_local_message(&self, _io: &dyn NetworkContext, _message: Vec<u8>);
    fn on_work_dispatch(
        &self,
        _io: &dyn NetworkContext,
        _work_type: HandlerWorkType,
    );
}

Required Methods§

Source

fn minimum_supported_version(&self) -> ProtocolVersion

Source

fn initialize(&self, _io: &dyn NetworkContext)

Source

fn on_message(&self, io: &dyn NetworkContext, node_id: &NodeId, data: &[u8])

Source

fn on_peer_connected( &self, io: &dyn NetworkContext, node_id: &NodeId, peer_protocol_version: ProtocolVersion, pos_public_key: Option<(ConsensusPublicKey, ConsensusVRFPublicKey)>, )

Source

fn on_peer_disconnected(&self, io: &dyn NetworkContext, node_id: &NodeId)

Source

fn on_timeout(&self, io: &dyn NetworkContext, timer: TimerToken)

Source

fn send_local_message(&self, _io: &dyn NetworkContext, _message: Vec<u8>)

Source

fn on_work_dispatch( &self, _io: &dyn NetworkContext, _work_type: HandlerWorkType, )

Implementors§