Struct libp2p_kad::record::store::MemoryStore
source · pub struct MemoryStore { /* private fields */ }
Expand description
In-memory implementation of a RecordStore
.
Implementations§
source§impl MemoryStore
impl MemoryStore
sourcepub fn new(local_id: PeerId) -> Self
pub fn new(local_id: PeerId) -> Self
Creates a new MemoryRecordStore
with a default configuration.
sourcepub fn with_config(local_id: PeerId, config: MemoryStoreConfig) -> Self
pub fn with_config(local_id: PeerId, config: MemoryStoreConfig) -> Self
Creates a new MemoryRecordStore
with the given configuration.
Trait Implementations§
source§impl<'a> RecordStore<'a> for MemoryStore
impl<'a> RecordStore<'a> for MemoryStore
type RecordsIter = Map<Values<'a, Key, Record>, fn(_: &'a Record) -> Cow<'a, Record>>
type ProvidedIter = Map<Iter<'a, ProviderRecord>, fn(_: &'a ProviderRecord) -> Cow<'a, ProviderRecord>>
source§fn get(&'a self, k: &Key) -> Option<Cow<'_, Record>>
fn get(&'a self, k: &Key) -> Option<Cow<'_, Record>>
Gets a record from the store, given its key.
source§fn records(&'a self) -> Self::RecordsIter
fn records(&'a self) -> Self::RecordsIter
Gets an iterator over all (value-) records currently stored.
source§fn add_provider(&'a mut self, record: ProviderRecord) -> Result<()>
fn add_provider(&'a mut self, record: ProviderRecord) -> Result<()>
Adds a provider record to the store. Read more
source§fn providers(&'a self, key: &Key) -> Vec<ProviderRecord>
fn providers(&'a self, key: &Key) -> Vec<ProviderRecord>
Gets a copy of the stored provider records for the given key.
source§fn provided(&'a self) -> Self::ProvidedIter
fn provided(&'a self) -> Self::ProvidedIter
Gets an iterator over all stored provider records for which the
node owning the store is itself the provider.
source§fn remove_provider(&'a mut self, key: &Key, provider: &PeerId)
fn remove_provider(&'a mut self, key: &Key, provider: &PeerId)
Removes a provider record from the store.