pub enum QueryInfo {
    Bootstrap {
        peer: PeerId,
        remaining: Option<IntoIter<Key<PeerId>>>,
        step: ProgressStep,
    },
    GetClosestPeers {
        key: Vec<u8>,
        step: ProgressStep,
    },
    GetProviders {
        key: Key,
        providers_found: usize,
        step: ProgressStep,
    },
    AddProvider {
        key: Key,
        phase: AddProviderPhase,
        context: AddProviderContext,
    },
    PutRecord {
        record: Record,
        quorum: NonZeroUsize,
        phase: PutRecordPhase,
        context: PutRecordContext,
    },
    GetRecord {
        key: Key,
        step: ProgressStep,
        found_a_record: bool,
        cache_candidates: BTreeMap<Distance, PeerId>,
    },
}
Expand description

Information about a running query.

Variants§

§

Bootstrap

Fields

§peer: PeerId

The targeted peer ID.

§remaining: Option<IntoIter<Key<PeerId>>>

The remaining random peer IDs to query, one per bucket that still needs refreshing.

This is None if the initial self-lookup has not yet completed and Some with an exhausted iterator if bootstrapping is complete.

A query initiated by Kademlia::bootstrap.

§

GetClosestPeers

Fields

§key: Vec<u8>

The key being queried (the preimage).

§step: ProgressStep

Current index of events.

A (repeated) query initiated by Kademlia::get_closest_peers.

§

GetProviders

Fields

§key: Key

The key for which to search for providers.

§providers_found: usize

The number of providers found so far.

§step: ProgressStep

Current index of events.

A (repeated) query initiated by Kademlia::get_providers.

§

AddProvider

Fields

§key: Key

The record key.

§phase: AddProviderPhase

The current phase of the query.

§context: AddProviderContext

The execution context of the query.

A (repeated) query initiated by Kademlia::start_providing.

§

PutRecord

Fields

§record: Record
§quorum: NonZeroUsize

The expected quorum of responses w.r.t. the replication factor.

§phase: PutRecordPhase

The current phase of the query.

§context: PutRecordContext

The execution context of the query.

A (repeated) query initiated by Kademlia::put_record.

§

GetRecord

Fields

§key: Key

The key to look for.

§step: ProgressStep

Current index of events.

§found_a_record: bool

Did we find at least one record?

§cache_candidates: BTreeMap<Distance, PeerId>

The peers closest to the key that were queried but did not return a record, i.e. the peers that are candidates for caching the record.

A (repeated) query initiated by Kademlia::get_record.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.