Merge pull request 'feat(sidecar): protocol 5 — cutover 2b of 7 (edge → main)' (#35) from edge into main
Reviewed-on: #35 Reviewed-by: Colby Whitlock <whitlocktech@gmail.com>
This commit is contained in:
@@ -52,7 +52,27 @@ use tracing_subscriber::EnvFilter;
|
||||
/// kinds are new, `GET /guilds` grows a `roster` key, and nothing existing changed shape. This is the
|
||||
/// first bump that also needed a **store migration** (`guilds.members`), because it is the first to
|
||||
/// add a column to a table that already exists rather than a whole new table; see `store::migrate`.
|
||||
pub const PROTOCOL_VERSION: u32 = 4;
|
||||
///
|
||||
/// v5 (Protocol 5): three enrichments that are additive in the same way again, bumped together
|
||||
/// rather than one at a time because a protocol bump is not cheap here — it costs a sidecar
|
||||
/// release, a republished bundle and an operator update on every shard, so a field left out costs
|
||||
/// a whole second round of that rather than a follow-up commit. They are:
|
||||
///
|
||||
/// * `house.decay` gains `ownerName` and a decay SCHEDULE — `nextStage`, `decayPeriodSec`,
|
||||
/// `dynamicDecay`, and `estimatedCollapse` only where it is exactly knowable (at IDOC under
|
||||
/// dynamic decay; at any stage under static decay, which has no randomness to wait out).
|
||||
/// * `vendor.listing` gains `ownerAcct` — without which the frame names an owner nobody can
|
||||
/// resolve to a person — and a `fees` object carrying the charge, the funds, the pay interval
|
||||
/// and the resolved `dismissalAt`.
|
||||
/// * `account.login.result` is a NEW kind: the verdict of a login, which the pre-existing
|
||||
/// `account.login.attempt` structurally cannot carry (its EventSink fires before the auth
|
||||
/// decision is made).
|
||||
///
|
||||
/// **No store migration this time**, unlike v4. Every frame is persisted whole and the board tables
|
||||
/// index only the columns they already had, so the new fields ride inside the stored JSON and the
|
||||
/// new kind lands in `events` like any other. That is the dumb-forwarder property doing its job:
|
||||
/// the sidecar defines no schema for a frame's contents and so needs no change when they grow.
|
||||
pub const PROTOCOL_VERSION: u32 = 5;
|
||||
|
||||
// Not `#[tokio::main]`: on Windows the SCM dispatcher takes over this thread and starts the runtime
|
||||
// itself, on its own thread, once the service actually begins. The runtime is built by whichever
|
||||
|
||||
Reference in New Issue
Block a user