Struct libp2p::kad::ProviderRecord
source · pub struct ProviderRecord {
pub key: Key,
pub provider: PeerId,
pub expires: Option<Instant>,
pub addresses: Vec<Multiaddr, Global>,
}
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, Global>
The known addresses that the provider may be listening on.
Implementations§
source§impl ProviderRecord
impl ProviderRecord
sourcepub fn new<K>(
key: K,
provider: PeerId,
addresses: Vec<Multiaddr, Global>
) -> ProviderRecordwhere
K: Into<Key>,
pub fn new<K>( key: K, provider: PeerId, addresses: Vec<Multiaddr, Global> ) -> ProviderRecordwhere K: Into<Key>,
Creates a new provider record for insertion into a RecordStore
.
sourcepub fn is_expired(&self, now: Instant) -> bool
pub fn is_expired(&self, now: Instant) -> bool
Checks whether the provider record is expired w.r.t. the given Instant
.
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<ProviderRecord> for ProviderRecord
impl PartialEq<ProviderRecord> 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 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