Enum libp2p_kad::handler::KademliaHandlerIn
source · pub enum KademliaHandlerIn<TUserData> {
Reset(KademliaRequestId),
FindNodeReq {
key: Vec<u8>,
user_data: TUserData,
},
FindNodeRes {
closer_peers: Vec<KadPeer>,
request_id: KademliaRequestId,
},
GetProvidersReq {
key: Key,
user_data: TUserData,
},
GetProvidersRes {
closer_peers: Vec<KadPeer>,
provider_peers: Vec<KadPeer>,
request_id: KademliaRequestId,
},
AddProvider {
key: Key,
provider: KadPeer,
},
GetRecord {
key: Key,
user_data: TUserData,
},
GetRecordRes {
record: Option<Record>,
closer_peers: Vec<KadPeer>,
request_id: KademliaRequestId,
},
PutRecord {
record: Record,
user_data: TUserData,
},
PutRecordRes {
key: Key,
value: Vec<u8>,
request_id: KademliaRequestId,
},
}
Expand description
Event to send to the handler.
Variants§
Reset(KademliaRequestId)
Resets the (sub)stream associated with the given request ID, thus signaling an error to the remote.
Explicitly resetting the (sub)stream associated with a request can be used as an alternative to letting requests simply time out on the remote peer, thus potentially avoiding some delay for the query on the remote.
FindNodeReq
Fields
user_data: TUserData
Custom user data. Passed back in the out event when the results arrive.
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
request_id: KademliaRequestId
Identifier of the request that was made by the remote.
It is a logic error to use an id of the handler of a different node.
Response to a FindNodeReq
.
GetProvidersReq
Fields
user_data: TUserData
Custom user data. Passed back in the out event when the results arrive.
Same as FindNodeReq
, but should also return the entries of the local providers list for
this key.
GetProvidersRes
Fields
request_id: KademliaRequestId
Identifier of the request that was made by the remote.
It is a logic error to use an id of the handler of a different node.
Response to a GetProvidersReq
.
AddProvider
Fields
Indicates that this provider is known for this key.
The API of the handler doesn’t expose any event that allows you to know whether this succeeded.
GetRecord
Fields
user_data: TUserData
Custom data. Passed back in the out event when the results arrive.
Request to retrieve a record from the DHT.
GetRecordRes
Fields
request_id: KademliaRequestId
Identifier of the request that was made by the remote.
Response to a GetRecord
request.
PutRecord
Fields
user_data: TUserData
Custom data. Passed back in the out event when the results arrive.
Put a value into the dht records.
PutRecordRes
Fields
request_id: KademliaRequestId
Identifier of the request that was made by the remote.
Response to a PutRecord
.