Trait ConnectionHandler
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;
}
Expand description
A trait that allows to authenticate a protocol after the RLPx
connection was established.
Required Associated Types§
type Connection: Stream<Item = BytesMut> + Send + 'static
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§
fn protocol(&self) -> Protocol
fn protocol(&self) -> Protocol
Returns the protocol to announce when the RLPx
connection will be established.
This will be negotiated with the remote peer.
fn on_unsupported_by_peer(
self,
supported: &SharedCapabilities,
direction: Direction,
peer_id: FixedBytes<64>,
) -> OnNotSupported
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.
fn into_connection(
self,
direction: Direction,
peer_id: FixedBytes<64>,
conn: ProtocolConnection,
) -> Self::Connection
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.