[−][src]Module libp2p_core::protocols_handler
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.
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 | Implementation of |
| 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
| IntoProtocolsHandler | Prototype for a |
| ProtocolsHandler | A handler for a set of protocols used on a connection with a remote. |