Phase 3 PR 66 -- OPC UA Client (gateway) driver scaffold #65
Reference in New Issue
Block a user
Delete Branch "phase-3-pr66-opcua-client-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
First driver that consumes OPC UA rather than publishes it — opens a
Sessionto a remote OPC UA server viaDefaultSessionFactory+ re-exposes the remote address space through the local OtOpcUa server. Matchesdriver-specs.md§8.OpcUaClientDriverOptions— EndpointUrl (defaultopc.tcp://localhost:4840),SecurityPolicy/SecurityMode/AuthType, Username/Password, SessionTimeout=120s / KeepAliveInterval=5s / ReconnectPeriod=5s,AutoAcceptCertificates=false(production default).OpcUaClientDriver : IDriver— builds its ownApplicationConfiguration(cert stores under%LocalAppData%/OtOpcUa/pki), selects endpoint viaCoreClientUtils.SelectEndpointAsync, connects viaDefaultSessionFactory.CreateAsync.SDK 1.5.378 gotchas navigated
Session.Create*statics are[Obsolete]; must usenew DefaultSessionFactory(...)instance.SelectEndpointAsyncrequiresITelemetryContext(passing null is tolerated — SDK falls back to default sink).UserIdentity(string, string)gone in favour of(string, byte[])with explicit encoding.ApplicationInstance()default ctor obsolete — wrapped in#pragma warning disable CS0618.Validation
opc.tcp://127.0.0.1:1for the unreachable-endpoint path because port 1 refuses immediately with RST, while RFC 5737 reserved IPs get black-holed and only surface after the SDK's internal retry burns ~60s).dotnet build: 0 errorsScope
ITagDiscovery / IReadable / IWritable / ISubscribable / IHostConnectivityProbe deliberately NOT here — land in PRs 67-69.
Test plan