fix(opcuaclient): review fixes - drop driver-side OperationLimits chunking (SDK batches), diagnostics as OTel counter, safe discovery selection, options validation at load (#273 #275 #276 #277 #278)

Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
Joseph Doherty
2026-10-08 14:55:53 -04:00
parent 935ba8d1d4
commit 1219b7b13e
13 changed files with 406 additions and 652 deletions
@@ -15,16 +15,10 @@ namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;
/// carry a non-null message. Callers must not key behaviour on the LastError-null ↔ Healthy
/// pairing.
/// </param>
/// <param name="Diagnostics">
/// Optional driver-specific counters/gauges (name → value) for the diagnostics surface (#276).
/// Null for every driver that publishes none. Deliberately NOT part of any health-change
/// fingerprint: counters move on every poll, so keying a dedup on them would defeat it.
/// </param>
public sealed record DriverHealth(
DriverState State,
DateTime? LastSuccessfulRead,
string? LastError,
IReadOnlyDictionary<string, double>? Diagnostics = null);
string? LastError);
/// <summary>Driver-instance lifecycle state.</summary>
public enum DriverState