Skip to main content

Module plugin

Module plugin 

Source
Expand description

Plugin trait —— 插件实现的唯一契约(业务与宿主的边界)。

纪律(写进 doc,实施由宿主强制):

  • 收:只有 Plugin::on_mail 一个入口;订阅面由 Plugin::routes 静态声明, 宿主 start() 时统一装配 forwarder(v0.1 不支持运行期动态订阅)。
  • 发:只有 PluginContext 四个出口(put/ask/notify/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§

Plugin

Functions§

valid_plugin_name
插件名规则(D2):首字母字母,其余 alnum/_/-,长度 1..=32。