Enum libp2p_kad::handler::KademliaHandlerIn [−][src]
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.
Tuple Fields of Reset
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.
Fields of FindNodeReq
Response to a FindNodeReq.
Fields of FindNodeRes
closer_peers: Vec<KadPeer>Results of the request.
request_id: KademliaRequestIdIdentifier 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.
Same as FindNodeReq, but should also return the entries of the local providers list for
this key.
Fields of GetProvidersReq
key: KeyIdentifier being searched.
user_data: TUserDataCustom user data. Passed back in the out event when the results arrive.
Response to a GetProvidersReq.
Fields of GetProvidersRes
closer_peers: Vec<KadPeer>Nodes closest to the key.
provider_peers: Vec<KadPeer>Known providers for this key.
request_id: KademliaRequestIdIdentifier 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.
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.
Fields of AddProvider
Request to retrieve a record from the DHT.
Fields of GetRecord
key: KeyThe key of the record.
user_data: TUserDataCustom data. Passed back in the out event when the results arrive.
Response to a GetRecord request.
Fields of GetRecordRes
record: Option<Record>The value that might have been found in our storage.
closer_peers: Vec<KadPeer>Nodes that are closer to the key we were searching for.
request_id: KademliaRequestIdIdentifier of the request that was made by the remote.
Put a value into the dht records.
Fields of PutRecord
record: Recorduser_data: TUserDataCustom data. Passed back in the out event when the results arrive.
Response to a PutRecord.
Fields of PutRecordRes
key: KeyKey of the value that was put.
value: Vec<u8>Value that was put.
request_id: KademliaRequestIdIdentifier of the request that was made by the remote.