pub enum KademliaEvent {
FindNodeSuccess {
query_id: QueryId,
target: PeerId,
peers: Vec<(PeerId, Vec<Multiaddr>)>,
},
RoutingTableUpdate {
peers: Vec<PeerId>,
},
GetRecordSuccess {
query_id: QueryId,
},
GetRecordPartialResult {
query_id: QueryId,
record: PeerRecord,
},
GetProvidersSuccess {
query_id: QueryId,
provided_key: RecordKey,
providers: Vec<ContentProvider>,
},
PutRecordSuccess {
query_id: QueryId,
key: RecordKey,
},
AddProviderSuccess {
query_id: QueryId,
provided_key: RecordKey,
},
QueryFailed {
query_id: QueryId,
},
IncomingRecord {
record: Record,
},
IncomingProvider {
provided_key: RecordKey,
provider: ContentProvider,
},
}Expand description
Kademlia events.
Variants§
FindNodeSuccess
Result for the issued FIND_NODE query.
Fields
RoutingTableUpdate
Routing table update.
Kademlia has discovered one or more peers that should be added to the routing table.
If RoutingTableUpdateMode is Automatic, user can ignore this event unless some
upper-level protocols has user for this information.
If the mode was set to Manual, user should call KademliaHandle::add_known_peer()
in order to add the peers to routing table.
GetRecordSuccess
GET_VALUE query succeeded.
GetRecordPartialResult
GET_VALUE inflight query produced a result.
This event is emitted when a peer responds to the query with a record.
GetProvidersSuccess
GET_PROVIDERS query succeeded.
Fields
providers: Vec<ContentProvider>Found providers with cached addresses. Returned providers are sorted by distane to the provided key.
PutRecordSuccess
PUT_VALUE query succeeded.
AddProviderSuccess
ADD_PROVIDER query succeeded.
QueryFailed
Query failed.
IncomingRecord
Incoming PUT_VALUE request received.
In case of using IncomingRecordValidationMode::Manual and successful validation
the record must be manually inserted into the local DHT store with
KademliaHandle::store_record().
IncomingProvider
Incoming ADD_PROVIDER request received.
Trait Implementations§
Source§impl Clone for KademliaEvent
impl Clone for KademliaEvent
Source§fn clone(&self) -> KademliaEvent
fn clone(&self) -> KademliaEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more