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§
Sourcefn trace_to_root(&self, event_id: &EventId) -> Result<Vec<CausalContext>>
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.
Sourcefn find_root(&self, event_id: &EventId) -> Result<CausalContext>
fn find_root(&self, event_id: &EventId) -> Result<CausalContext>
Find the root (human-initiated) event for a given event.
Sourcefn events_in_session(
&self,
session_id: &SessionId,
) -> Result<Vec<CausalContext>>
fn events_in_session( &self, session_id: &SessionId, ) -> Result<Vec<CausalContext>>
List all events in a session, ordered by sequence.
Sourcefn children_of(&self, event_id: &EventId) -> Result<Vec<CausalContext>>
fn children_of(&self, event_id: &EventId) -> Result<Vec<CausalContext>>
Find all direct children of an event.
Sourcefn max_depth_in_session(&self, session_id: &SessionId) -> Result<u32>
fn max_depth_in_session(&self, session_id: &SessionId) -> Result<u32>
Get the maximum depth reached in a session.