pub struct EventGraph { /* private fields */ }Expand description
The GRETA event graph for a single partition/window
Implementations§
Source§impl EventGraph
impl EventGraph
Sourcepub fn add_event(&mut self, event: SharedEvent, type_index: u16) -> NodeId
pub fn add_event(&mut self, event: SharedEvent, type_index: u16) -> NodeId
Add an event to the graph
Sourcepub fn nodes_of_type(&self, type_index: u16) -> &[NodeId] ⓘ
pub fn nodes_of_type(&self, type_index: u16) -> &[NodeId] ⓘ
Get all nodes of a specific type
Sourcepub fn propagate_counts(&mut self, query: QueryId)
pub fn propagate_counts(&mut self, query: QueryId)
Propagate counts for a query (GRETA core algorithm)
For each event e: count(e, q) = start(e, q) + Σ count(e’, q) for all predecessors e’
Sourcepub fn final_count(&self, query: QueryId) -> u64
pub fn final_count(&self, query: QueryId) -> u64
Get the final aggregated count for a query
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EventGraph
impl RefUnwindSafe for EventGraph
impl Send for EventGraph
impl Sync for EventGraph
impl Unpin for EventGraph
impl UnsafeUnpin for EventGraph
impl UnwindSafe for EventGraph
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