Enum libp2p_kad::handler::KademliaHandlerEvent
source · pub enum KademliaHandlerEvent<TUserData> {
FindNodeReq {
key: PeerId,
request_id: KademliaRequestId,
},
FindNodeRes {
closer_peers: Vec<KadPeer>,
user_data: TUserData,
},
GetProvidersReq {
key: Multihash,
request_id: KademliaRequestId,
},
GetProvidersRes {
closer_peers: Vec<KadPeer>,
provider_peers: Vec<KadPeer>,
user_data: TUserData,
},
QueryError {
error: KademliaHandlerQueryErr,
user_data: TUserData,
},
AddProvider {
key: Multihash,
provider_peer: KadPeer,
},
}Expand description
Event produced by the Kademlia handler.
Variants
FindNodeReq
Fields
key: PeerIdIdentifier of the node.
request_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Request for the list of nodes whose IDs are the closest to key. The number of nodes
returned is not specified, but should be around 20.
FindNodeRes
Fields
Response to an KademliaHandlerIn::FindNodeReq.
GetProvidersReq
Fields
key: MultihashIdentifier being searched.
request_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Same as FindNodeReq, but should also return the entries of the local providers list for
this key.
GetProvidersRes
Fields
Response to an KademliaHandlerIn::GetProvidersReq.
QueryError
Fields
error: KademliaHandlerQueryErrThe error that happened.
An error happened when performing a query.
AddProvider
Fields
key: MultihashKey for which we should add providers.
provider_peer: KadPeerKnown provider for this key.
The remote indicates that this list of providers is known for this key.