pub struct SeizeAllocator<P: LeafPolicy> { /* private fields */ }Expand description
Unified seize-based allocator for all leaf policies.
Implementations§
Source§impl<P: LeafPolicy> SeizeAllocator<P>
impl<P: LeafPolicy> SeizeAllocator<P>
Trait Implementations§
Source§impl<P: Debug + LeafPolicy> Debug for SeizeAllocator<P>
impl<P: Debug + LeafPolicy> Debug for SeizeAllocator<P>
Source§impl<P: LeafPolicy> Default for SeizeAllocator<P>
impl<P: LeafPolicy> Default for SeizeAllocator<P>
Source§impl<P: LeafPolicy + 'static> TreeAllocator<P> for SeizeAllocator<P>
impl<P: LeafPolicy + 'static> TreeAllocator<P> for SeizeAllocator<P>
Source§unsafe fn retire_leaf(&self, ptr: *mut LeafNode15<P>, guard: &LocalGuard<'_>)
unsafe fn retire_leaf(&self, ptr: *mut LeafNode15<P>, guard: &LocalGuard<'_>)
Retire a leaf node for deferred reclamation. Read more
Source§unsafe fn retire_internode_erased(&self, ptr: *mut u8, guard: &LocalGuard<'_>)
unsafe fn retire_internode_erased(&self, ptr: *mut u8, guard: &LocalGuard<'_>)
Retire an internode for deferred reclamation. Read more
Source§fn teardown_tree(&self, root_ptr: *mut u8)
fn teardown_tree(&self, root_ptr: *mut u8)
Teardown all reachable nodes at tree drop.
Source§fn alloc_leaf_direct(
&self,
is_root: bool,
is_layer_root: bool,
) -> *mut LeafNode15<P>
fn alloc_leaf_direct( &self, is_root: bool, is_layer_root: bool, ) -> *mut LeafNode15<P>
Allocate a leaf node directly from the pool and initialize it in-place.
Source§fn alloc_internode_direct(&self, height: u32) -> *mut u8
fn alloc_internode_direct(&self, height: u32) -> *mut u8
Allocate an internode directly from the pool and initialize it in-place.
Source§fn alloc_internode_direct_root(&self, height: u32) -> *mut u8
fn alloc_internode_direct_root(&self, height: u32) -> *mut u8
Allocate an internode as a root node directly from the pool.
Source§fn alloc_internode_direct_for_split(
&self,
parent_version: &NodeVersion,
height: u32,
) -> *mut u8
fn alloc_internode_direct_for_split( &self, parent_version: &NodeVersion, height: u32, ) -> *mut u8
Allocate an internode for a split operation directly from the pool.
impl<P: LeafPolicy> Send for SeizeAllocator<P>
impl<P: LeafPolicy> Sync for SeizeAllocator<P>
Auto Trait Implementations§
impl<P> Freeze for SeizeAllocator<P>
impl<P> RefUnwindSafe for SeizeAllocator<P>where
P: RefUnwindSafe,
impl<P> Unpin for SeizeAllocator<P>where
P: Unpin,
impl<P> UnsafeUnpin for SeizeAllocator<P>
impl<P> UnwindSafe for SeizeAllocator<P>where
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more