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 ProtocolsHandler
s 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
ProtocolsHandler
handles 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 theNetworkBehaviour
trait.
Modules
A ProtocolsHandler
implementation that combines multiple other ProtocolsHandler
s
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.
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
.