Enum libp2p_kad::handler::KademliaHandlerEvent [−][src]
pub enum KademliaHandlerEvent<TUserData> {
ProtocolConfirmed {
endpoint: ConnectedPoint,
},
FindNodeReq {
key: Vec<u8>,
request_id: KademliaRequestId,
},
FindNodeRes {
closer_peers: Vec<KadPeer>,
user_data: TUserData,
},
GetProvidersReq {
key: Key,
request_id: KademliaRequestId,
},
GetProvidersRes {
closer_peers: Vec<KadPeer>,
provider_peers: Vec<KadPeer>,
user_data: TUserData,
},
QueryError {
error: KademliaHandlerQueryErr,
user_data: TUserData,
},
AddProvider {
key: Key,
provider: KadPeer,
},
GetRecord {
key: Key,
request_id: KademliaRequestId,
},
GetRecordRes {
record: Option<Record>,
closer_peers: Vec<KadPeer>,
user_data: TUserData,
},
PutRecord {
record: Record,
request_id: KademliaRequestId,
},
PutRecordRes {
key: Key,
value: Vec<u8>,
user_data: TUserData,
},
}Event produced by the Kademlia handler.
Variants
The configured protocol name has been confirmed by the peer through a successfully negotiated substream.
This event is only emitted once by a handler upon the first successfully negotiated inbound or outbound substream and indicates that the connected peer participates in the Kademlia overlay network identified by the configured protocol name.
Show fields
Fields of ProtocolConfirmed
endpoint: ConnectedPointRequest 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.
Show fields
Fields of FindNodeReq
key: Vec<u8>The key for which to locate the closest nodes.
request_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Response to an KademliaHandlerIn::FindNodeReq.
Show fields
Same as FindNodeReq, but should also return the entries of the local providers list for
this key.
Show fields
Fields of GetProvidersReq
key: KeyThe key for which providers are requested.
request_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Response to an KademliaHandlerIn::GetProvidersReq.
Show fields
An error happened when performing a query.
Show fields
Fields of QueryError
error: KademliaHandlerQueryErrThe error that happened.
user_data: TUserDataThe user data passed to the query.
The peer announced itself as a provider of a key.
Show fields
Request to get a value from the dht records
Show fields
Fields of GetRecord
key: KeyKey for which we should look in the dht
request_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Response to a KademliaHandlerIn::GetRecord.
Show fields
Request to put a value in the dht records
Show fields
Fields of PutRecord
record: Recordrequest_id: KademliaRequestIdIdentifier of the request. Needs to be passed back when answering.
Response to a request to store a record.
Show fields
Trait Implementations
Auto Trait Implementations
impl<TUserData> !RefUnwindSafe for KademliaHandlerEvent<TUserData>
impl<TUserData> Send for KademliaHandlerEvent<TUserData> where
TUserData: Send,
TUserData: Send,
impl<TUserData> Sync for KademliaHandlerEvent<TUserData> where
TUserData: Sync,
TUserData: Sync,
impl<TUserData> Unpin for KademliaHandlerEvent<TUserData> where
TUserData: Unpin,
TUserData: Unpin,