Struct libp2p::kad::ProviderRecord
source · pub struct ProviderRecord {
pub key: Key,
pub provider: PeerId,
pub expires: Option<Instant>,
pub addresses: Vec<Multiaddr>,
}
Expand description
A record stored in the DHT whose value is the ID of a peer who can provide the value on-demand.
Note: Two ProviderRecord
s as well as their corresponding hashes are
equal iff their key
and provider
fields are equal. See the Hash
and
PartialEq
implementations.
Fields§
§key: Key
The key whose value is provided by the provider.
provider: PeerId
The provider of the value for the key.
expires: Option<Instant>
The expiration time as measured by a local, monotonic clock.
addresses: Vec<Multiaddr>
The known addresses that the provider may be listening on.
Implementations§
Trait Implementations§
source§impl Clone for ProviderRecord
impl Clone for ProviderRecord
source§fn clone(&self) -> ProviderRecord
fn clone(&self) -> ProviderRecord
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ProviderRecord
impl Debug for ProviderRecord
source§impl Hash for ProviderRecord
impl Hash for ProviderRecord
source§impl PartialEq for ProviderRecord
impl PartialEq for ProviderRecord
source§fn eq(&self, other: &ProviderRecord) -> bool
fn eq(&self, other: &ProviderRecord) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ProviderRecord
Auto Trait Implementations§
impl !Freeze for ProviderRecord
impl RefUnwindSafe for ProviderRecord
impl Send for ProviderRecord
impl Sync for ProviderRecord
impl Unpin for ProviderRecord
impl UnwindSafe for ProviderRecord
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
Converts
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> ⓘ
Converts
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