Merge #854 ConditionRefresh not overtaken by deferred condition events (Server-object items)
v2-ci / unit-tests (push) Failing after 1h12m23s

This commit is contained in:
Joseph Doherty
2026-11-11 07:39:25 -05:00
5 changed files with 1278 additions and 55 deletions
@@ -172,6 +172,15 @@ public static class OtOpcUaTelemetry
Meter.CreateCounter<long>("otopcua.opcua.condition_events.discarded", unit: "{event}",
description: "Deferred condition events discarded before delivery (reason=coalesced|not_live).");
/// <summary>
/// Deferred condition events withheld from one Server-object (<c>i=2253</c>) item because a ConditionRefresh of that
/// item had already replayed a newer state (Gitea #854) — one per item and event. Every other subscriber still
/// receives them; this only stops a refresh being overtaken by older events.
/// </summary>
public static readonly Counter<long> ConditionEventDeliveriesSuperseded =
Meter.CreateCounter<long>("otopcua.opcua.condition_events.superseded", unit: "{delivery}",
description: "Deferred condition events withheld from a Server-object item whose ConditionRefresh already replayed a newer state.");
// ---------------- Convenience helpers ----------------
/// <summary>