feat(commons): IAlarmSubscribableConnection seam + DCL native alarm messages
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Types.Alarms;
|
||||
|
||||
namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.DataConnection;
|
||||
|
||||
/// <summary>DCL → instance: a native alarm transition routed by source reference.</summary>
|
||||
public record NativeAlarmTransitionUpdate(string ConnectionName, NativeAlarmTransition Transition);
|
||||
|
||||
/// <summary>
|
||||
/// DCL → instance: the alarm feed for a source became unavailable (connection
|
||||
/// lost). Consumers mark their mirrored alarms uncertain rather than clearing
|
||||
/// them; the reconnect snapshot reconciles state.
|
||||
/// </summary>
|
||||
public record NativeAlarmSourceUnavailable(string ConnectionName, string SourceReference, DateTimeOffset Timestamp);
|
||||
@@ -0,0 +1,30 @@
|
||||
namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.DataConnection;
|
||||
|
||||
/// <summary>
|
||||
/// Sent by a NativeAlarmActor (via the DCL manager) to subscribe an instance to
|
||||
/// native alarms for a source binding. The DataConnectionActor opens one alarm
|
||||
/// feed per connection and routes transitions by source-object reference.
|
||||
/// </summary>
|
||||
public record SubscribeAlarmsRequest(
|
||||
string CorrelationId,
|
||||
string InstanceUniqueName,
|
||||
string ConnectionName,
|
||||
string SourceReference,
|
||||
string? ConditionFilter,
|
||||
DateTimeOffset Timestamp);
|
||||
|
||||
/// <summary>Reply to a <see cref="SubscribeAlarmsRequest"/>.</summary>
|
||||
public record SubscribeAlarmsResponse(
|
||||
string CorrelationId,
|
||||
string InstanceUniqueName,
|
||||
bool Success,
|
||||
string? ErrorMessage,
|
||||
DateTimeOffset Timestamp);
|
||||
|
||||
/// <summary>Cancels a native alarm subscription for an instance + source.</summary>
|
||||
public record UnsubscribeAlarmsRequest(
|
||||
string CorrelationId,
|
||||
string InstanceUniqueName,
|
||||
string ConnectionName,
|
||||
string SourceReference,
|
||||
DateTimeOffset Timestamp);
|
||||
Reference in New Issue
Block a user