HashMap

Struct HashMap 

Source
pub struct HashMap<K, V> { /* private fields */ }

Implementations§

Source§

impl<K, V> HashMap<K, V>

Source

pub const fn with_max_entries(max_entries: u32, flags: u32) -> HashMap<K, V>

Source

pub const fn pinned(max_entries: u32, flags: u32) -> HashMap<K, V>

Source

pub unsafe fn get(&self, key: &K) -> Option<&V>

Retrieve the value associate with key from the map. This function is unsafe. Unless the map flag BPF_F_NO_PREALLOC is used, the kernel does not make guarantee on the atomicity of insert or remove, and any element removed from the map might get aliased by another element in the map, causing garbage to be read, or corruption in case of writes.

Source

pub fn get_ptr(&self, key: &K) -> Option<*const V>

Retrieve the value associate with key from the map. The same caveat as get applies, but this returns a raw pointer and it’s up to the caller to decide whether it’s safe to dereference the pointer or not.

Source

pub fn get_ptr_mut(&self, key: &K) -> Option<*mut V>

Retrieve the value associate with key from the map. The same caveat as get applies, and additionally cares should be taken to avoid concurrent writes, but it’s up to the caller to decide whether it’s safe to dereference the pointer or not.

Source

pub fn insert(&self, key: &K, value: &V, flags: u64) -> Result<(), c_long>

Source

pub fn remove(&self, key: &K) -> Result<(), c_long>

Trait Implementations§

Source§

impl<K: Sync, V: Sync> Sync for HashMap<K, V>

Auto Trait Implementations§

§

impl<K, V> !Freeze for HashMap<K, V>

§

impl<K, V> !RefUnwindSafe for HashMap<K, V>

§

impl<K, V> Send for HashMap<K, V>
where K: Send, V: Send,

§

impl<K, V> Unpin for HashMap<K, V>
where K: Unpin, V: Unpin,

§

impl<K, V> UnwindSafe for HashMap<K, V>
where K: UnwindSafe, V: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.