feat(lmxproxy): phase 5 — client core (ILmxProxyClient, connection, read/write/subscribe)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Joseph Doherty
2026-03-22 00:22:29 -04:00
parent 9eb81180c0
commit 8ba75b50e8
19 changed files with 1819 additions and 0 deletions

View File

@@ -11,4 +11,19 @@ public static class QualityExtensions
/// <summary>Returns true if quality is in the Bad family (byte < 64).</summary>
public static bool IsBad(this Quality q) => (byte)q < 64;
/// <summary>
/// Converts an OPC UA 32-bit status code to the simplified <see cref="Quality"/> enum.
/// Uses the top two bits to determine the quality family.
/// </summary>
public static Quality FromStatusCode(uint statusCode)
{
uint category = statusCode & 0xC0000000;
return category switch
{
0x00000000 => Quality.Good,
0x40000000 => Quality.Uncertain,
_ => Quality.Bad
};
}
}