pub enum DiscoveryOut {
Discovered(PeerId),
UnroutablePeer(PeerId),
ValueFound(PeerRecord, Duration),
PutRecordRequest(RecordKey, Vec<u8>, Option<PeerId>, Option<Instant>),
ValueNotFound(RecordKey, Duration),
ValuePut(RecordKey, Duration),
ValuePutFailed(RecordKey, Duration),
RandomKademliaStarted,
}
Expand description
Event generated by the DiscoveryBehaviour
.
Variants§
Discovered(PeerId)
A connection to a peer has been established but the peer has not been
added to the routing table because BucketInserts::Manual
is
configured. If the peer is to be included in the routing table, it must
be explicitly added via
DiscoveryBehaviour::add_self_reported_address
.
UnroutablePeer(PeerId)
A peer connected to this node for whom no listen address is known.
In order for the peer to be added to the Kademlia routing table, a known
listen address must be added via
DiscoveryBehaviour::add_self_reported_address
, e.g. obtained through
the identify
protocol.
ValueFound(PeerRecord, Duration)
The DHT yielded results for the record request.
Returning the result grouped in (key, value) pairs as well as the request duration.
PutRecordRequest(RecordKey, Vec<u8>, Option<PeerId>, Option<Instant>)
The DHT received a put record request.
ValueNotFound(RecordKey, Duration)
The record requested was not found in the DHT.
Returning the corresponding key as well as the request duration.
ValuePut(RecordKey, Duration)
The record with a given key was successfully inserted into the DHT.
Returning the corresponding key as well as the request duration.
ValuePutFailed(RecordKey, Duration)
Inserting a value into the DHT failed.
Returning the corresponding key as well as the request duration.
RandomKademliaStarted
Started a random Kademlia query.
Only happens if DiscoveryConfig::with_dht_random_walk
has been configured to true
.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DiscoveryOut
impl RefUnwindSafe for DiscoveryOut
impl Send for DiscoveryOut
impl Sync for DiscoveryOut
impl Unpin for DiscoveryOut
impl UnwindSafe for DiscoveryOut
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CheckedConversion for T
impl<T> CheckedConversion for T
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 moreSource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.