pub struct StreamJoinManager { /* private fields */ }Expand description
Manages multiple stream joins and coordinates event routing
Implementations§
Source§impl StreamJoinManager
impl StreamJoinManager
Sourcepub fn register_join(
&mut self,
join_id: String,
join_node: StreamJoinNode,
result_handler: Box<dyn Fn(JoinedEvent) + Send + Sync>,
)
pub fn register_join( &mut self, join_id: String, join_node: StreamJoinNode, result_handler: Box<dyn Fn(JoinedEvent) + Send + Sync>, )
Register a new stream join
Sourcepub fn unregister_join(&mut self, join_id: &str)
pub fn unregister_join(&mut self, join_id: &str)
Remove a stream join
Sourcepub fn process_event(&self, event: StreamEvent)
pub fn process_event(&self, event: StreamEvent)
Process an incoming stream event Routes the event to all relevant join nodes
Sourcepub fn update_watermark(&self, stream_id: &str, watermark: i64)
pub fn update_watermark(&self, stream_id: &str, watermark: i64)
Update watermark for a specific stream This triggers eviction of old events and emission of outer join results
Sourcepub fn get_all_stats(&self) -> HashMap<String, JoinNodeStats>
pub fn get_all_stats(&self) -> HashMap<String, JoinNodeStats>
Get statistics for all joins
Sourcepub fn get_join_stats(&self, join_id: &str) -> Option<JoinNodeStats>
pub fn get_join_stats(&self, join_id: &str) -> Option<JoinNodeStats>
Get statistics for a specific join
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StreamJoinManager
impl !RefUnwindSafe for StreamJoinManager
impl Send for StreamJoinManager
impl Sync for StreamJoinManager
impl Unpin for StreamJoinManager
impl !UnwindSafe for StreamJoinManager
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