Skip to main content

ConnectionHandler

Trait ConnectionHandler 

Source
pub trait ConnectionHandler:
    Send
    + Sync
    + 'static {
    type Connection: Stream<Item = BytesMut> + Send + 'static;

    // Required methods
    fn protocol(&self) -> Protocol;
    fn on_unsupported_by_peer(
        self,
        supported: &SharedCapabilities,
        direction: Direction,
        peer_id: FixedBytes<64>,
    ) -> OnNotSupported;
    fn into_connection(
        self,
        direction: Direction,
        peer_id: FixedBytes<64>,
        conn: ProtocolConnection,
    ) -> Self::Connection;
}
Available on crate feature network only.
Expand description

A trait that allows to authenticate a protocol after the RLPx connection was established.

Required Associated Types§

Source

type Connection: Stream<Item = BytesMut> + Send + 'static

The connection that yields messages to send to the remote.

The connection will be closed when this stream resolves.

Required Methods§

Source

fn protocol(&self) -> Protocol

Returns the protocol to announce when the RLPx connection will be established.

This will be negotiated with the remote peer.

Source

fn on_unsupported_by_peer( self, supported: &SharedCapabilities, direction: Direction, peer_id: FixedBytes<64>, ) -> OnNotSupported

Invoked when the RLPx connection has been established by the peer does not share the protocol.

Source

fn into_connection( self, direction: Direction, peer_id: FixedBytes<64>, conn: ProtocolConnection, ) -> Self::Connection

Invoked when the RLPx connection was established.

The returned future should resolve when the connection should disconnect.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§