pub struct ConcurrentTrieNode {
pub column_id: Option<ColumnId>,
pub column_type: Option<ColumnType>,
pub children: DashMap<String, Arc<ConcurrentTrieNode>>,
pub created_epoch: u64,
}Expand description
A node in the concurrent path trie using epoch-based reclamation
Fields§
§column_id: Option<ColumnId>Column ID if this path is a leaf (terminal column)
column_type: Option<ColumnType>Column type for leaf nodes
children: DashMap<String, Arc<ConcurrentTrieNode>>Children nodes keyed by path segment (lock-free via DashMap)
created_epoch: u64Epoch when this node was created (for reclamation)
Implementations§
Source§impl ConcurrentTrieNode
impl ConcurrentTrieNode
Sourcepub fn leaf(column_id: ColumnId, column_type: ColumnType, epoch: u64) -> Self
pub fn leaf(column_id: ColumnId, column_type: ColumnType, epoch: u64) -> Self
Create a leaf node with column information
Sourcepub fn count_nodes(&self) -> usize
pub fn count_nodes(&self) -> usize
Count total nodes in subtree
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ConcurrentTrieNode
impl !RefUnwindSafe for ConcurrentTrieNode
impl Send for ConcurrentTrieNode
impl Sync for ConcurrentTrieNode
impl Unpin for ConcurrentTrieNode
impl !UnwindSafe for ConcurrentTrieNode
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
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