[−][src]Trait locklessness::handle::Handle
This encapsulates the pattern of wrapping a fixed-size lock-free data-structure inside an RwLock, and automatically resizing it when the number of concurrent handles increases.
Associated Types
type HandleInner
Required methods
fn try_allocate_id<IdType>(&self) -> Option<IdType> where
Self::HandleInner: HandleInner<IdType>,
Self::HandleInner: HandleInner<IdType>,
fn free_id<IdType>(&self, id: IdType) where
Self::HandleInner: HandleInner<IdType>,
Self::HandleInner: HandleInner<IdType>,
fn with<R, F: FnOnce(&Self::HandleInner) -> R>(&self, f: F) -> R
fn new(inner: Self::HandleInner) -> Self
fn id_limit<IdType>(&self) -> usize where
Self::HandleInner: HandleInner<IdType>,
Self::HandleInner: HandleInner<IdType>,
Implementors
impl<H> Handle for BoundedHandle<H>
[src]
type HandleInner = H
fn try_allocate_id<IdType>(&self) -> Option<IdType> where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,
fn free_id<IdType>(&self, id: IdType) where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,
fn with<R, F: FnOnce(&Self::HandleInner) -> R>(&self, f: F) -> R
[src]
fn new(inner: Self::HandleInner) -> Self
[src]
fn id_limit<IdType>(&self) -> usize where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,
impl<H> Handle for ResizingHandle<H>
[src]
type HandleInner = H
fn try_allocate_id<IdType>(&self) -> Option<IdType> where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,
fn free_id<IdType>(&self, id: IdType) where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,
fn with<R, F: FnOnce(&Self::HandleInner) -> R>(&self, f: F) -> R
[src]
fn new(inner: Self::HandleInner) -> Self
[src]
fn id_limit<IdType>(&self) -> usize where
Self::HandleInner: HandleInner<IdType>,
[src]
Self::HandleInner: HandleInner<IdType>,