Module libp2p_swarm::protocols_handler [−][src]
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
multi | A |
Structs
DummyProtocolsHandler | Implementation of |
IntoProtocolsHandlerSelect | Implementation of |
MapInEvent | Wrapper around a protocol handler that turns the input event into something else. |
MapOutEvent | Wrapper around a protocol handler that turns the output event into something else. |
NodeHandlerWrapper | Wraps around an implementation of |
NodeHandlerWrapperBuilder | Prototype for a |
OneShotHandler | A |
OneShotHandlerConfig | Configuration parameters for the |
ProtocolsHandlerSelect | Implementation of |
SubstreamProtocol | Configuration of inbound or outbound substream protocol(s)
for a |
Enums
KeepAlive | How long the connection should be kept alive. |
NodeHandlerWrapperError | Error generated by the |
ProtocolsHandlerEvent | Event produced by a handler. |
ProtocolsHandlerUpgrErr | Error that can happen on an outbound substream opening attempt. |
Traits
InboundUpgradeSend | Implemented automatically on all types that implement
|
IntoProtocolsHandler | Prototype for a |
OutboundUpgradeSend | Implemented automatically on all types that implement
|
ProtocolsHandler | A handler for a set of protocols used on a connection with a remote. |
UpgradeInfoSend | Implemented automatically on all types that implement |