Skip to main content

EventSink

Trait EventSink 

Source
pub trait EventSink: Send + Sync {
    // Required method
    fn emit(&self, event: EngineEvent);

    // Provided method
    fn emit_batch(&self, events: &[EngineEvent]) { ... }
}
Expand description

Sink for engine events emitted after command processing.

The runtime implements this trait to route events to:

  • WebSocket clients (real-time order/fill notifications)
  • Database persistence (trade log, balance changes)
  • Portfolio projection caches
  • Downstream analytics

§Default implementation

emit_batch has a default implementation that calls emit in a loop. Implementations may override this for batch-optimized delivery.

Required Methods§

Source

fn emit(&self, event: EngineEvent)

Emit a single engine event.

Provided Methods§

Source

fn emit_batch(&self, events: &[EngineEvent])

Emit a batch of engine events.

Default implementation calls emit for each event. Override for batch-optimized delivery (e.g., a single channel send for the whole batch).

Implementors§