Struct canadensis::core::session::SessionDynamicMap
source · [−]pub struct SessionDynamicMap<I, N, T, D> where
I: Instant, { /* private fields */ }
Expand description
A session map that uses dynamic memory allocation
Caution: This implementation cannot detect when memory allocation fails, so it may cause the program to abort. Only use it when memory is plentiful.
This implementation uses variable amounts of memory and takes O(log(number of sessions))
time.
Trait Implementations
sourceimpl<I, N, T, D> Default for SessionDynamicMap<I, N, T, D> where
I: Instant,
N: Ord,
impl<I, N, T, D> Default for SessionDynamicMap<I, N, T, D> where
I: Instant,
N: Ord,
sourcefn default() -> SessionDynamicMap<I, N, T, D>
fn default() -> SessionDynamicMap<I, N, T, D>
Returns the “default value” for a type. Read more
sourceimpl<I, N, T, D> SessionTracker<I, N, T, D> for SessionDynamicMap<I, N, T, D> where
I: Instant,
N: Ord + Clone + Debug,
impl<I, N, T, D> SessionTracker<I, N, T, D> for SessionDynamicMap<I, N, T, D> where
I: Instant,
N: Ord + Clone + Debug,
sourcefn get(&self, node: N) -> Option<&Session<I, T, D>>
fn get(&self, node: N) -> Option<&Session<I, T, D>>
Returns a reference to the session for the provided node, if one exists
sourcefn get_mut(&mut self, node: N) -> Option<&mut Session<I, T, D>>
fn get_mut(&mut self, node: N) -> Option<&mut Session<I, T, D>>
Returns a mutable reference to the session for the provided node, if one exists
sourcefn get_mut_or_insert_with<F>(
&mut self,
node: N,
generator: F
) -> Result<&mut Session<I, T, D>, OutOfMemoryError> where
N: Clone,
F: FnOnce() -> Session<I, T, D>,
fn get_mut_or_insert_with<F>(
&mut self,
node: N,
generator: F
) -> Result<&mut Session<I, T, D>, OutOfMemoryError> where
N: Clone,
F: FnOnce() -> Session<I, T, D>,
Returns a mutable reference to the session for the provided node Read more
sourcefn insert(
&mut self,
node: N,
session: Session<I, T, D>
) -> Result<(), OutOfMemoryError>
fn insert(
&mut self,
node: N,
session: Session<I, T, D>
) -> Result<(), OutOfMemoryError>
Inserts a session Read more
sourcefn remove_expired(&mut self, now: I)
fn remove_expired(&mut self, now: I)
Removes all sessions that have expired
Auto Trait Implementations
impl<I, N, T, D> RefUnwindSafe for SessionDynamicMap<I, N, T, D> where
D: RefUnwindSafe,
I: RefUnwindSafe,
N: RefUnwindSafe,
T: RefUnwindSafe,
<I as Instant>::Duration: RefUnwindSafe,
impl<I, N, T, D> Send for SessionDynamicMap<I, N, T, D> where
D: Send,
I: Send,
N: Send,
T: Send,
<I as Instant>::Duration: Send,
impl<I, N, T, D> Sync for SessionDynamicMap<I, N, T, D> where
D: Sync,
I: Sync,
N: Sync,
T: Sync,
<I as Instant>::Duration: Sync,
impl<I, N, T, D> Unpin for SessionDynamicMap<I, N, T, D>
impl<I, N, T, D> UnwindSafe for SessionDynamicMap<I, N, T, D> where
D: RefUnwindSafe,
I: RefUnwindSafe,
N: RefUnwindSafe,
T: RefUnwindSafe,
<I as Instant>::Duration: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more