1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! 生命周期与服务改版的事件类型串(宿主「说话」的全部通道,零日志)。
//!
//! 0.3.0 拆自原 log_plugin.rs:宿主不携带任何日志类型、不内置日志插件 ——
//! 它想说的话全部是**结构化事件**:
//! - `ePlugUp` / `ePlugUp.<名>`:插件上线(载荷 [`crate::service::PlugNotice`] / 版本串)
//! - `ePlugDown` / `ePlugDown.<名>`:正常摘除(载荷同上;宿主整体 close 不发逐插件事件,防事件风暴)
//! - `ePlugQDown.<名>`:熔断检疫定向广播(worker 自发;Q=quarantine,无载荷)
//! - `eSrvChg` / `eSrvChg.<名>`:服务目录改版(载荷同上)
//!
//! 运维诊断文本(邮箱溢出/panic 累计/close 超时)只走 `stderr`,不进总线、不定义任何类型。
//! 三族旁系(`ePlugDown` / `ePlugDown.<名>` / `ePlugQDown.<名>`)语义各别,严禁合并。
//!
//! 业务日志与宿主无关:谁想记日志谁自己 `ctx.put` 自己的载荷(业务链上用
//! `ek-data` 的 `LogData` 到 `"eLog"` 键),core 全程不在场。
/// 插件上线固定键(载荷 [`crate::service::PlugNotice`])。
pub const EVENT_PLUG_UP: &str = "ePlugUp";
/// 插件上线定向键(载荷:版本串)。
pub const EVENT_PLUG_UP_PREFIX: &str = "ePlugUp.";
/// 插件正常摘除固定键(载荷 [`crate::service::PlugNotice`])。
pub const EVENT_PLUG_DOWN: &str = "ePlugDown";
/// 插件正常摘除定向键(载荷:版本串)。正常摘除才用;宿主整体 close 不发。
pub const EVENT_PLUG_DOWN_EVENT_PREFIX: &str = "ePlugDown.";
/// 熔断检疫定向广播键(worker 自发;Q=quarantine,无载荷)。
pub const EVENT_PLUG_DOWN_PREFIX: &str = "ePlugQDown.";
/// 服务目录改版固定键(载荷 [`crate::service::PlugNotice`])。
pub const EVENT_SRV_CHG: &str = "eSrvChg";
/// 服务目录改版定向键(载荷:版本串)。
pub const EVENT_SRV_CHG_PREFIX: &str = "eSrvChg.";