Enum libp2p_kad::QueryInfo
source · 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
A query initiated by Behaviour::bootstrap
.
Fields
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.
step: ProgressStep
GetClosestPeers
A (repeated) query initiated by Behaviour::get_closest_peers
.
Fields
step: ProgressStep
Current index of events.
GetProviders
A (repeated) query initiated by Behaviour::get_providers
.
Fields
step: ProgressStep
Current index of events.
AddProvider
A (repeated) query initiated by Behaviour::start_providing
.
Fields
phase: AddProviderPhase
The current phase of the query.
context: AddProviderContext
The execution context of the query.
PutRecord
A (repeated) query initiated by Behaviour::put_record
.
Fields
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.
GetRecord
A (repeated) query initiated by Behaviour::get_record
.
Fields
step: ProgressStep
Current index of events.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for QueryInfo
impl RefUnwindSafe for QueryInfo
impl Send for QueryInfo
impl Sync for QueryInfo
impl Unpin for QueryInfo
impl UnwindSafe for QueryInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more