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: PeerId
Identifier of the node.
request_id: KademliaRequestId
Identifier 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: Multihash
Identifier being searched.
request_id: KademliaRequestId
Identifier 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: KademliaHandlerQueryErr
The error that happened.
An error happened when performing a query.
AddProvider
Fields
key: Multihash
Key for which we should add providers.
provider_peer: KadPeer
Known provider for this key.
The remote indicates that this list of providers is known for this key.