feat(GWC-37,WRK-32): refresh live alarm watch lists
ci / nightly-windev (push) Has been skipped
ci / windows-x86 (push) Failing after 51s
ci / java (push) Successful in 2m8s
ci / portable (push) Failing after 1h1m54s

This commit is contained in:
Joseph Doherty
2026-08-25 11:46:07 -04:00
parent 1b11e89f29
commit 484028e721
22 changed files with 3961 additions and 1858 deletions
@@ -7,7 +7,8 @@ namespace ZB.MOM.WW.MxGateway.Worker.MxAccess;
/// <summary>
/// Per-session interface routing the worker's alarm IPC commands —
/// <c>SubscribeAlarmsCommand</c>, <c>AcknowledgeAlarmCommand</c>,
/// <c>QueryActiveAlarmsCommand</c>, <c>UnsubscribeAlarmsCommand</c> —
/// <c>UpdateAlarmWatchListCommand</c>, <c>QueryActiveAlarmsCommand</c>,
/// <c>UnsubscribeAlarmsCommand</c> —
/// to the underlying <see cref="AlarmDispatcher"/>. Production binding
/// is <see cref="AlarmCommandHandler"/>; tests substitute a fake.
/// </summary>
@@ -24,6 +25,13 @@ public interface IAlarmCommandHandler : IDisposable
/// <param name="sessionId">The session identifier.</param>
void Subscribe(SubscribeAlarmsCommand command, string sessionId);
/// <summary>
/// Replace the active auto-failover subscription's subtag standby
/// targets without restarting its primary provider.
/// </summary>
/// <param name="watchList">The complete replacement watch list.</param>
void UpdateWatchList(IReadOnlyList<AlarmSubtagTarget> watchList);
/// <summary>Tear down the active subscription. No-op if not subscribed.</summary>
void Unsubscribe();