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 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§
§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 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 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