fix(ab-transport): RegisterSession carries a zero sender context (found by Task 17 controllogix)

ab_server's RegisterSession sanity check rejects any non-zero sender context
with encapsulation status 1 and a header-only reply, so every native session
against the simulator failed with BadCommunicationError. libplctag sends zero
(logix-register-session.hex); the codec test now matches that capture byte for
byte instead of excluding the context, and a client test pins the zero on the wire.
This commit is contained in:
Joseph Doherty
2026-10-07 17:20:06 -04:00
parent 72c73f525e
commit 82d011c7a8
4 changed files with 24 additions and 11 deletions
@@ -82,7 +82,7 @@ public sealed class EncapsulationClient : IAsyncDisposable
try
{
var (header, _) = await client.ExchangeAsync(connected: false,
(ctx, _) => EncapsulationCodec.RegisterSession(ctx), timeout, ct).ConfigureAwait(false);
(_, _) => EncapsulationCodec.RegisterSession(), timeout, ct).ConfigureAwait(false);
client.SessionHandle = header.SessionHandle;
return client;
}