Expand description
ek-event —— 自包含事件引擎(Rust 复刻 enkeep_trade/event/engine.py)。
语义对齐原版:
- 单分发线程串行处理(一个 type 的 handler 按注册顺序执行)
- 无界队列
- 独立定时线程,默认每 1 秒投递一个
EVENT_TIMER事件 stop()后队列中未处理的事件被丢弃(对齐原版)
对原版的修正:
- handler 表全程 RwLock 保护
- handler panic 被 catch_unwind 隔离,不再杀掉分发线程
- 注册返回
HandlerId,注销按 id(原版依赖函数对象相等,不可复刻)
Re-exports§
pub use engine::EventEngine;pub use engine::PutError;pub use event::Event;pub use event::EventData;pub use handler::HandlerFn;pub use handler::HandlerId;pub use handler::HandlerRegistry;
Modules§
- engine
EventEngine:无界队列 + 单分发线程 + 定时线程。- event
Event结构体(对齐原版Event(type, data))。- handler
- handler 注册表:
RwLock<精确表 + general 表>,HandlerId 去重。
Constants§
- EVENT_
TIMER - 定时事件类型串(与原版
EVENT_TIMER = "eTimer"对齐)。