pub struct KademliaHandler<TUserData> { /* private fields */ }
Expand description

Protocol handler that manages substreams for the Kademlia protocol on a single connection with a peer.

The handler will automatically open a Kademlia substream with the remote for each request we make.

It also handles requests made by the remote.

Implementations§

Create a KademliaHandler using the given configuration.

Trait Implementations§

Custom event that can be received from the outside.
Custom event that can be produced by the handler and that will be returned to the outside.
The type of errors returned by ConnectionHandler::poll.
The inbound upgrade for the protocol(s) used by the handler.
The outbound upgrade for the protocol(s) used by the handler.
The type of additional information passed to an OutboundSubstreamRequest.
The type of additional information returned from listen_protocol.
The InboundUpgrade to apply on inbound substreams to negotiate the desired protocols. Read more
Informs the handler about an event from the NetworkBehaviour.
Returns until when the connection should be kept alive. Read more
Should behave like Stream::poll().
👎Deprecated since 0.41.0: Handle ConnectionEvent::FullyNegotiatedInbound on ConnectionHandler::on_connection_event instead. The default implemention of this inject_* method delegates to it.
Injects the output of a successful upgrade on a new inbound substream. Read more
👎Deprecated since 0.41.0: Handle ConnectionEvent::FullyNegotiatedOutbound on ConnectionHandler::on_connection_event instead. The default implemention of this inject_* method delegates to it.
Injects the output of a successful upgrade on a new outbound substream. Read more
👎Deprecated since 0.41.0: Implement ConnectionHandler::on_behaviour_event instead. The default implementation of inject_event delegates to it.
Injects an event coming from the outside in the handler.
👎Deprecated since 0.41.0: Handle ConnectionEvent::AddressChange on ConnectionHandler::on_connection_event instead. The default implemention of this inject_* method delegates to it.
Notifies the handler of a change in the address of the remote.
👎Deprecated since 0.41.0: Handle ConnectionEvent::DialUpgradeError on ConnectionHandler::on_connection_event instead. The default implemention of this inject_* method delegates to it.
Indicates to the handler that upgrading an outbound substream to the given protocol has failed.
👎Deprecated since 0.41.0: Handle ConnectionEvent::ListenUpgradeError on ConnectionHandler::on_connection_event instead. The default implemention of this inject_* method delegates to it.
Indicates to the handler that upgrading an inbound substream to the given protocol has failed.
Adds a closure that turns the input event into something else.
Adds a closure that turns the output event into something else.
Creates a new ConnectionHandler that selects either this handler or other by delegating methods calls appropriately. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The protocols handler.
Builds the protocols handler. Read more
Return the handler’s inbound protocol.
Builds an implementation of IntoConnectionHandler that handles both this protocol and the other one together.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.