[−][src]Struct solana_runtime::accounts_cache::SlotCacheInner
Implementations
impl SlotCacheInner
[src]
pub fn report_slot_store_metrics(&self)
[src]
pub fn insert(&self, pubkey: &Pubkey, account: Account, hash: Hash)
[src]
pub fn get_cloned(&self, pubkey: &Pubkey) -> Option<CachedAccount>
[src]
pub fn mark_slot_frozen(&self)
[src]
pub fn is_frozen(&self) -> bool
[src]
Methods from Deref<Target = DashMap<Pubkey, CachedAccount>>
pub fn hash_usize<T>(&self, item: &T) -> usize where
T: Hash,
[src]
T: Hash,
Hash a given item to produce a usize. Uses the provided or default HashBuilder.
pub fn hasher(&self) -> &S
[src]
Returns a reference to the map's BuildHasher
.
Examples
use dashmap::DashMap; use ahash::RandomState; let hasher = RandomState::new(); let map: DashMap<i32, i32> = DashMap::new(); let hasher: &RandomState = map.hasher();
pub fn insert(&self, key: K, value: V) -> Option<V>
[src]
Inserts a key and a value into the map.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let map = DashMap::new(); map.insert("I am the key!", "And I am the value!");
pub fn remove<Q>(&self, key: &Q) -> Option<(K, V)> where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Removes an entry from the map, returning the key and value if they existed in the map.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let soccer_team = DashMap::new(); soccer_team.insert("Jack", "Goalie"); assert_eq!(soccer_team.remove("Jack").unwrap().1, "Goalie");
pub fn remove_if<Q>(
&self,
key: &Q,
f: impl FnOnce(&K, &V) -> bool
) -> Option<(K, V)> where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
&self,
key: &Q,
f: impl FnOnce(&K, &V) -> bool
) -> Option<(K, V)> where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Removes an entry from the map, returning the key and value if the entry existed and the provided conditional function returned true.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
use dashmap::DashMap; let soccer_team = DashMap::new(); soccer_team.insert("Sam", "Forward"); soccer_team.remove_if("Sam", |_, position| position == &"Goalie"); assert!(soccer_team.contains_key("Sam"));
use dashmap::DashMap; let soccer_team = DashMap::new(); soccer_team.insert("Sam", "Forward"); soccer_team.remove_if("Sam", |_, position| position == &"Forward"); assert!(!soccer_team.contains_key("Sam"));
pub fn iter(&'a self) -> Iter<'a, K, V, S, DashMap<K, V, S>>
[src]
Creates an iterator over a DashMap yielding immutable references.
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
Examples
use dashmap::DashMap; let words = DashMap::new(); words.insert("hello", "world"); assert_eq!(words.iter().count(), 1);
pub fn iter_mut(&'a self) -> IterMut<'a, K, V, S, DashMap<K, V, S>>
[src]
Iterator over a DashMap yielding mutable references.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let map = DashMap::new(); map.insert("Johnny", 21); map.iter_mut().for_each(|mut r| *r += 1); assert_eq!(*map.get("Johnny").unwrap(), 22);
pub fn get<Q>(&'a self, key: &Q) -> Option<Ref<'a, K, V, S>> where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Get a immutable reference to an entry in the map
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
Examples
use dashmap::DashMap; let youtubers = DashMap::new(); youtubers.insert("Bosnian Bill", 457000); assert_eq!(*youtubers.get("Bosnian Bill").unwrap(), 457000);
pub fn get_mut<Q>(&'a self, key: &Q) -> Option<RefMut<'a, K, V, S>> where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Get a mutable reference to an entry in the map
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let class = DashMap::new(); class.insert("Albin", 15); *class.get_mut("Albin").unwrap() -= 1; assert_eq!(*class.get("Albin").unwrap(), 14);
pub fn shrink_to_fit(&self)
[src]
Remove excess capacity to reduce memory usage.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
pub fn retain(&self, f: impl FnMut(&K, &mut V) -> bool)
[src]
Retain elements that whose predicates return true and discard elements whose predicates return false.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let people = DashMap::new(); people.insert("Albin", 15); people.insert("Jones", 22); people.insert("Charlie", 27); people.retain(|_, v| *v > 20); assert_eq!(people.len(), 2);
pub fn len(&self) -> usize
[src]
Fetches the total number of key-value pairs stored in the map.
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
Examples
use dashmap::DashMap; let people = DashMap::new(); people.insert("Albin", 15); people.insert("Jones", 22); people.insert("Charlie", 27); assert_eq!(people.len(), 3);
pub fn is_empty(&self) -> bool
[src]
Checks if the map is empty or not.
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
Examples
use dashmap::DashMap; let map = DashMap::<(), ()>::new(); assert!(map.is_empty());
pub fn clear(&self)
[src]
Removes all key-value pairs in the map.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let stats = DashMap::new(); stats.insert("Goals", 4); assert!(!stats.is_empty()); stats.clear(); assert!(stats.is_empty());
pub fn capacity(&self) -> usize
[src]
Returns how many key-value pairs the map can store without reallocating.
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
pub fn alter<Q>(&self, key: &Q, f: impl FnOnce(&K, V) -> V) where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Modify a specific value according to a function.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let stats = DashMap::new(); stats.insert("Goals", 4); stats.alter("Goals", |_, v| v * 2); assert_eq!(*stats.get("Goals").unwrap(), 8);
Panics
If the given closure panics, then alter_all
will abort the process
pub fn alter_all(&self, f: impl FnMut(&K, V) -> V)
[src]
Modify every value in the map according to a function.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Examples
use dashmap::DashMap; let stats = DashMap::new(); stats.insert("Wins", 4); stats.insert("Losses", 2); stats.alter_all(|_, v| v + 1); assert_eq!(*stats.get("Wins").unwrap(), 5); assert_eq!(*stats.get("Losses").unwrap(), 3);
Panics
If the given closure panics, then alter_all
will abort the process
pub fn contains_key<Q>(&self, key: &Q) -> bool where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
[src]
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
Checks if the map contains a specific key.
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
Examples
use dashmap::DashMap; let team_sizes = DashMap::new(); team_sizes.insert("Dakota Cherries", 23); assert!(team_sizes.contains_key("Dakota Cherries"));
pub fn entry(&'a self, key: K) -> Entry<'a, K, V, S>
[src]
Advanced entry API that tries to mimic std::collections::HashMap
.
See the documentation on dashmap::mapref::entry
for more details.
Locking behaviour: May deadlock if called when holding any sort of reference into the map.
Trait Implementations
impl Debug for SlotCacheInner
[src]
impl Default for SlotCacheInner
[src]
pub fn default() -> SlotCacheInner
[src]
impl Deref for SlotCacheInner
[src]
Auto Trait Implementations
impl !RefUnwindSafe for SlotCacheInner
[src]
impl Send for SlotCacheInner
[src]
impl Sync for SlotCacheInner
[src]
impl Unpin for SlotCacheInner
[src]
impl UnwindSafe for SlotCacheInner
[src]
Blanket Implementations
impl<T> AbiExample for T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,