pub struct ConcurrentART { /* private fields */ }Expand description
Concurrent Adaptive Radix Tree
Provides lock-free read operations and CAS-based write operations. Uses epoch-based reclamation for safe memory management.
Implementations§
Source§impl ConcurrentART
impl ConcurrentART
Sourcepub fn get(&self, key: &[u8]) -> Option<(Option<Vec<u8>>, u64)>
pub fn get(&self, key: &[u8]) -> Option<(Option<Vec<u8>>, u64)>
Get a value by key (lock-free)
Returns the value and sequence number if found.
Sourcepub fn insert(
&self,
key: Vec<u8>,
value: Option<Vec<u8>>,
seqno: u64,
) -> Option<(Option<Vec<u8>>, u64)>
pub fn insert( &self, key: Vec<u8>, value: Option<Vec<u8>>, seqno: u64, ) -> Option<(Option<Vec<u8>>, u64)>
Insert a key-value pair
Returns the old value if the key existed.
Sourcepub fn memory_usage(&self) -> u64
pub fn memory_usage(&self) -> u64
Get approximate memory usage
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ConcurrentART
impl RefUnwindSafe for ConcurrentART
impl Send for ConcurrentART
impl Sync for ConcurrentART
impl Unpin for ConcurrentART
impl UnsafeUnpin for ConcurrentART
impl UnwindSafe for ConcurrentART
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more