pub trait InspectorMiddleware<Evt>: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn inspect(&self, event: &Evt) -> Result<(), InspectorError>;
}Expand description
只读检查器——接收 &Evt,后台并行执行,不阻塞事件流。
Inspector 通过 tokio::spawn 并发执行,其错误通过异步 error channel 报告,
不会影响 Mutator 阶段的事件处理。
§示例
struct TokenLogger;
impl InspectorMiddleware<String> for TokenLogger {
fn name(&self) -> &str { "token_logger" }
fn inspect(&self, event: &String) -> Result<(), InspectorError> {
eprintln!("[inspector] event: {event}");
Ok(())
}
}Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".