Struct ProviderRecord
pub struct ProviderRecord {
pub key: Key,
pub provider: PeerId,
pub expires: Option<Instant>,
pub addresses: Vec<Multiaddr>,
}Available on crate feature
kad only.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 ProviderRecords as well as their corresponding hashes are
equal iff their key and provider fields are equal. See the Hash and
PartialEq implementations.
Fields§
§key: KeyThe key whose value is provided by the provider.
provider: PeerIdThe 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§
§impl ProviderRecord
impl ProviderRecord
pub fn new<K>(
key: K,
provider: PeerId,
addresses: Vec<Multiaddr>,
) -> ProviderRecord
pub fn new<K>( key: K, provider: PeerId, addresses: Vec<Multiaddr>, ) -> ProviderRecord
Creates a new provider record for insertion into a RecordStore.
pub 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§
§impl Clone for ProviderRecord
impl Clone for ProviderRecord
§fn clone(&self) -> ProviderRecord
fn clone(&self) -> ProviderRecord
Returns a duplicate 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 more§impl Debug for ProviderRecord
impl Debug for ProviderRecord
§impl Hash for ProviderRecord
impl Hash for ProviderRecord
§impl PartialEq for ProviderRecord
impl PartialEq for ProviderRecord
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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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