Module libp2p_swarm::handler
source · Expand description
Once a connection to a remote peer is established, a ConnectionHandler negotiates
and handles one or more specific protocols on the connection.
Protocols are negotiated and used on individual substreams of the connection. Thus a
ConnectionHandler defines the inbound and outbound upgrades to apply when creating a new
inbound or outbound substream, respectively, and is notified by a Swarm when
these upgrades have been successfully applied, including the final output of the upgrade. A
ConnectionHandler can then continue communicating with the peer over the substream using the
negotiated protocol(s).
Two ConnectionHandlers can be composed with ConnectionHandler::select()
in order to build a new handler supporting the combined set of protocols,
with methods being dispatched to the appropriate handler according to the
used protocol(s) determined by the associated types of the handlers.
Note: A
ConnectionHandlerhandles one or more protocols in the context of a single connection with a remote. In order to handle a protocol that requires knowledge of the network as a whole, see theNetworkBehaviourtrait.
Modules
ConnectionHandler implementation that combines multiple other ConnectionHandlers
indexed by some key.Structs
ConnectionHandler that combines two protocols into one.ConnectionHandler that doesn’t handle anything.IntoConnectionHandler that combines two protocols into one.ConnectionHandler that opens a new substream for each request.OneShotHandlerOutboundUpgradeSend, InboundUpgradeSend, or
both, and implements OutboundUpgrade and/or
InboundUpgrade.ConnectionHandler.Enums
Traits
InboundUpgrade and Send + 'static.ConnectionHandler.OutboundUpgrade and Send + 'static.UpgradeInfo
and Send + 'static.