Skip to main content

CausalChainQuery

Trait CausalChainQuery 

Source
pub trait CausalChainQuery {
    // Required methods
    fn trace_to_root(&self, event_id: &EventId) -> Result<Vec<CausalContext>>;
    fn find_root(&self, event_id: &EventId) -> Result<CausalContext>;
    fn events_in_session(
        &self,
        session_id: &SessionId,
    ) -> Result<Vec<CausalContext>>;
    fn children_of(&self, event_id: &EventId) -> Result<Vec<CausalContext>>;
    fn max_depth_in_session(&self, session_id: &SessionId) -> Result<u32>;
}
Expand description

Query interface for causal chains (Section 6, G-6.1).

Implementors provide queries against the causal chain for accountability auditing and forensics. This trait is object-safe so it can be used with dyn CausalChainQuery.

Required Methods§

Source

fn trace_to_root(&self, event_id: &EventId) -> Result<Vec<CausalContext>>

Retrieve the full causal chain from an event back to the root.

Returns events in order from root (depth 0) to the queried event.

Source

fn find_root(&self, event_id: &EventId) -> Result<CausalContext>

Find the root (human-initiated) event for a given event.

Source

fn events_in_session( &self, session_id: &SessionId, ) -> Result<Vec<CausalContext>>

List all events in a session, ordered by sequence.

Source

fn children_of(&self, event_id: &EventId) -> Result<Vec<CausalContext>>

Find all direct children of an event.

Source

fn max_depth_in_session(&self, session_id: &SessionId) -> Result<u32>

Get the maximum depth reached in a session.

Implementors§