Phase 0 WP-0.2–0.9: Implement Commons (types, entities, interfaces, messages, protocol, tests)
- WP-0.2: Namespace/folder skeleton (26 directories) - WP-0.3: Shared data types (6 enums, RetryPolicy, Result<T>) - WP-0.4: 24 domain entity POCOs across 10 domain areas - WP-0.5: 7 repository interfaces with full CRUD signatures - WP-0.6: IAuditService cross-cutting interface - WP-0.7: 26 message contract records across 8 concern areas - WP-0.8: IDataConnection protocol abstraction with batch ops - WP-0.9: 8 architectural constraint enforcement tests All 40 tests pass, zero warnings.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
namespace ScadaLink.Commons.Messages.Health;
|
||||
|
||||
public record HeartbeatMessage(
|
||||
string SiteId,
|
||||
string NodeHostname,
|
||||
bool IsActive,
|
||||
DateTimeOffset Timestamp);
|
||||
@@ -0,0 +1,14 @@
|
||||
using ScadaLink.Commons.Types.Enums;
|
||||
|
||||
namespace ScadaLink.Commons.Messages.Health;
|
||||
|
||||
public record SiteHealthReport(
|
||||
string SiteId,
|
||||
long SequenceNumber,
|
||||
DateTimeOffset ReportTimestamp,
|
||||
IReadOnlyDictionary<string, ConnectionHealth> DataConnectionStatuses,
|
||||
IReadOnlyDictionary<string, TagResolutionStatus> TagResolutionCounts,
|
||||
int ScriptErrorCount,
|
||||
int AlarmEvaluationErrorCount,
|
||||
IReadOnlyDictionary<string, int> StoreAndForwardBufferDepths,
|
||||
int DeadLetterCount);
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace ScadaLink.Commons.Messages.Health;
|
||||
|
||||
public record TagResolutionStatus(int TotalSubscribed, int SuccessfullyResolved);
|
||||
Reference in New Issue
Block a user