Trait libp2p::swarm::IntoConnectionHandler
source · pub trait IntoConnectionHandler: Send + 'static {
type Handler: ConnectionHandler;
// Required methods
fn into_handler(
self,
remote_peer_id: &PeerId,
connected_point: &ConnectedPoint
) -> Self::Handler;
fn inbound_protocol(
&self
) -> <Self::Handler as ConnectionHandler>::InboundProtocol;
// Provided method
fn select<TProto2>(
self,
other: TProto2
) -> IntoConnectionHandlerSelect<Self, TProto2>
where Self: Sized { ... }
}
Expand description
Prototype for a ConnectionHandler
.
Required Associated Types§
sourcetype Handler: ConnectionHandler
type Handler: ConnectionHandler
The protocols handler.
Required Methods§
sourcefn into_handler(
self,
remote_peer_id: &PeerId,
connected_point: &ConnectedPoint
) -> Self::Handler
fn into_handler( self, remote_peer_id: &PeerId, connected_point: &ConnectedPoint ) -> Self::Handler
Builds the protocols handler.
The PeerId
is the id of the node the handler is going to handle.
sourcefn inbound_protocol(
&self
) -> <Self::Handler as ConnectionHandler>::InboundProtocol
fn inbound_protocol( &self ) -> <Self::Handler as ConnectionHandler>::InboundProtocol
Return the handler’s inbound protocol.
Provided Methods§
sourcefn select<TProto2>(
self,
other: TProto2
) -> IntoConnectionHandlerSelect<Self, TProto2>where
Self: Sized,
fn select<TProto2>( self, other: TProto2 ) -> IntoConnectionHandlerSelect<Self, TProto2>where Self: Sized,
Builds an implementation of IntoConnectionHandler
that handles both this protocol and the
other one together.
Implementors§
source§impl<K, H> IntoConnectionHandler for IntoMultiHandler<K, H>where
K: Debug + Clone + Eq + Hash + Send + 'static,
H: IntoConnectionHandler,
impl<K, H> IntoConnectionHandler for IntoMultiHandler<K, H>where K: Debug + Clone + Eq + Hash + Send + 'static, H: IntoConnectionHandler,
type Handler = MultiHandler<K, <H as IntoConnectionHandler>::Handler>
source§impl<L, R> IntoConnectionHandler for IntoEitherHandler<L, R>where
L: IntoConnectionHandler,
R: IntoConnectionHandler,
impl<L, R> IntoConnectionHandler for IntoEitherHandler<L, R>where L: IntoConnectionHandler, R: IntoConnectionHandler,
Implementation of a IntoConnectionHandler
that represents either of two IntoConnectionHandler
implementations.