Expand description
Proxy event pipeline — types, sink trait, bus, and manager.
§Layout
types:ProxyEventenum and its per-variant payload structs.sink:EventSinktrait that consumers implement.bus:EventBus(emit handle) andEventBusHandle(shutdown).manager:EventManager— builder that registers sinks and starts the bus.
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;