Skip to main content

Module event

Module event 

Source
Expand description

Proxy event pipeline — types, sink trait, bus, and manager.

§Layout

Typical wiring:

use mcpr_core::event::{EventManager, EventSink};

let mut manager = EventManager::new();
manager.register(Box::new(my_sink));
let handle = manager.start();
let bus = handle.bus.clone();
// … bus.emit(event) from the proxy hot path …
handle.shutdown().await;

Re-exports§

pub use bus::EventBus;
pub use bus::EventBusHandle;
pub use manager::EventManager;
pub use sink::EventSink;
pub use sink::NoopSink;
pub use types::HeartbeatEvent;
pub use types::ProxyEvent;
pub use types::RequestEvent;
pub use types::SchemaVersionCreatedEvent;
pub use types::SessionEndEvent;
pub use types::SessionStartEvent;
pub use types::StageTimings;

Modules§

bus
Event bus — routes proxy events to registered sinks.
manager
EventManager — collects registered sinks and starts the bus.
sink
EventSink trait — how consumers plug into the event bus.
types
Proxy event types carried through the event bus.