fix: route debug stream events through ClusterClient site→central path

ClusterClient Sender refs are temporary proxies — valid for immediate reply
but not durable for future Tells. Events now flow as DebugStreamEvent through
SiteCommunicationActor → ClusterClient → CentralCommunicationActor → bridge
actor (same pattern as health reports). Also fix DebugStreamHub to use
IHubContext for long-lived callbacks instead of transient hub instance.
This commit is contained in:
Joseph Doherty
2026-03-21 11:32:17 -04:00
parent 41aff339b2
commit 3efec91386
7 changed files with 76 additions and 21 deletions

View File

@@ -0,0 +1,8 @@
namespace ScadaLink.Commons.Messages.DebugView;
/// <summary>
/// Wraps a debug stream event (AttributeValueChanged or AlarmStateChanged) with
/// the correlationId for routing back to the correct DebugStreamBridgeActor on central.
/// Sent from InstanceActor → SiteCommunicationActor → ClusterClient → CentralCommunicationActor.
/// </summary>
public record DebugStreamEvent(string CorrelationId, object Event);