Wire DCL to Instance Actors for OPC UA tag value flow
- Add TagValueUpdate/ConnectionQualityChanged handlers to InstanceActor - InstanceActor subscribes to DCL on PreStart based on DataSourceReference - DeploymentManagerActor creates DCL connections on deploy and passes DCL ref - AkkaHostedService creates DCL Manager Actor for tag subscriptions - Move CreateConnectionCommand to Commons for cross-project access - Add ConnectionConfig to FlattenedConfiguration for deployment packaging
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
namespace ScadaLink.Commons.Messages.DataConnection;
|
||||
|
||||
/// <summary>
|
||||
/// Command to create a new data connection actor for a specific protocol.
|
||||
/// Sent from DeploymentManagerActor to DCL Manager Actor.
|
||||
/// </summary>
|
||||
public record CreateConnectionCommand(
|
||||
string ConnectionName,
|
||||
string ProtocolType,
|
||||
IDictionary<string, string> ConnectionDetails);
|
||||
@@ -17,6 +17,22 @@ public sealed record FlattenedConfiguration
|
||||
public IReadOnlyList<ResolvedAlarm> Alarms { get; init; } = [];
|
||||
public IReadOnlyList<ResolvedScript> Scripts { get; init; } = [];
|
||||
public DateTimeOffset GeneratedAtUtc { get; init; } = DateTimeOffset.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// Connection configurations keyed by connection name, each containing the
|
||||
/// protocol-specific settings (e.g. OPC UA endpoint, publish interval).
|
||||
/// Populated during flattening from the instance's connection bindings.
|
||||
/// </summary>
|
||||
public IReadOnlyDictionary<string, ConnectionConfig>? Connections { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Connection configuration included in the flattened deployment package.
|
||||
/// </summary>
|
||||
public sealed record ConnectionConfig
|
||||
{
|
||||
public string Protocol { get; init; } = string.Empty;
|
||||
public string? ConfigurationJson { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user