Module libp2p_swarm::protocols_handler
source · [−]Expand description
Once a connection to a remote peer is established, a ProtocolsHandler negotiates
and handles one or more specific protocols on the connection.
Protocols are negotiated and used on individual substreams of the connection.
Thus a ProtocolsHandler 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 ProtocolsHandler can then continue communicating
with the peer over the substream using the negotiated protocol(s).
Two ProtocolsHandlers can be composed with ProtocolsHandler::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
ProtocolsHandlerhandles 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
A ProtocolsHandler implementation that combines multiple other ProtocolsHandlers
indexed by some key.
Structs
Implementation of ProtocolsHandler that doesn’t handle anything.
Implementation of IntoProtocolsHandler that combines two protocols into one.
Wrapper around a protocol handler that turns the input event into something else.
Wrapper around a protocol handler that turns the output event into something else.
Wraps around an implementation of ProtocolsHandler, and implements NodeHandler.
Prototype for a NodeHandlerWrapper.
A ProtocolsHandler that opens a new substream for each request.
Configuration parameters for the OneShotHandler
Implementation of ProtocolsHandler that combines two protocols into one.
Wraps around a type that implements OutboundUpgradeSend, InboundUpgradeSend, or
both, and implements OutboundUpgrade and/or
InboundUpgrade.
Configuration of inbound or outbound substream protocol(s)
for a ProtocolsHandler.
Enums
How long the connection should be kept alive.
Error generated by the NodeHandlerWrapper.
Event produced by a handler.
Error that can happen on an outbound substream opening attempt.
Traits
Implemented automatically on all types that implement
InboundUpgrade and Send + 'static.
Prototype for a ProtocolsHandler.
Implemented automatically on all types that implement
OutboundUpgrade and Send + 'static.
A handler for a set of protocols used on a connection with a remote.
Implemented automatically on all types that implement UpgradeInfo
and Send + 'static.