pub struct Graph { /* private fields */ }Expand description
Represents the DAG data structure with high-performance concurrent access
Implementations§
Source§impl Graph
impl Graph
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Creates a new Graph with specified initial capacity
Sourcepub fn with_config(config: StorageConfig) -> Self
pub fn with_config(config: StorageConfig) -> Self
Creates a new Graph with custom storage configuration
Sourcepub fn get_edges(&self, hash: &Hash) -> Option<HashSet<Edge>>
pub fn get_edges(&self, hash: &Hash) -> Option<HashSet<Edge>>
Returns all edges connected to a node
Sourcepub fn update_node_state(&self, hash: &Hash, new_state: NodeState) -> Result<()>
pub fn update_node_state(&self, hash: &Hash, new_state: NodeState) -> Result<()>
Updates the state of a node
Sourcepub fn metrics(&self) -> GraphMetrics
pub fn metrics(&self) -> GraphMetrics
Gets current performance metrics
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Graph
impl !RefUnwindSafe for Graph
impl Send for Graph
impl Sync for Graph
impl Unpin for Graph
impl UnwindSafe for Graph
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> 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