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§
Sourcefn emit(&self, event: EngineEvent)
fn emit(&self, event: EngineEvent)
Emit a single engine event.
Provided Methods§
Sourcefn emit_batch(&self, events: &[EngineEvent])
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).