Expand description
Plugin trait —— 插件实现的唯一契约(业务与宿主的边界)。
纪律(写进 doc,实施由宿主强制):
- 收:只有
Plugin::on_mail一个入口;订阅面由Plugin::routes静态声明, 宿主 start() 时统一装配 forwarder(v0.1 不支持运行期动态订阅)。 - 发:只有
PluginContext三个出口(put/ask/notify); 业务日志属 put 的用例(0.3.0:宿主零日志,无 write_log 出口)。 - 状态:插件状态放对象内部自锁(
Mutex/RwLock);on_mail 在插件 worker 线程串行执行。 - 停:on_stop 之后不再收到任何邮件(close 五步第②步)。
Constants§
- CLOSE_
JOIN_ TIMEOUT - close() 的 join 等待上限(D4:超时告警不死等)。
- MAILBOX_
CAP - 默认邮箱容量(D5,confirms:按插件覆写override)。
- PANIC_
LIMIT - 连续 panic 熔断阈值(D3)。
Traits§
Functions§
- valid_
plugin_ name - 插件名规则(D2):首字母字母,其余 alnum/_/-,长度 1..=32。