Ab.Transport: RequestScheduler fragment/lock follow-ups #567

Closed
opened 2026-10-07 19:02:13 -04:00 by dohertj2 · 1 comment
Owner

Context: native .NET Allen-Bradley transport work (plan docs/plans/2026-10-07-native-ab-transport.md, branch feat/native-ab-transport, not yet merged). Parked as a Minor during per-task review — none of these block the plan.

RequestScheduler (MSP coalescing + fragmented reads/writes) follow-ups:

  • Wide-struct fragmented write with 8-byte alignment is unit-tested only — never proven against a real controller.
  • Uses lock(this) on the private Pending type — switch to a private lock object.
  • The struct handle is not compared across Read Tag Fragmented reply fragments (a mid-read type change would be stitched silently).
Context: native .NET Allen-Bradley transport work (plan `docs/plans/2026-10-07-native-ab-transport.md`, branch `feat/native-ab-transport`, not yet merged). Parked as a Minor during per-task review — none of these block the plan. `RequestScheduler` (MSP coalescing + fragmented reads/writes) follow-ups: - [ ] Wide-struct fragmented **write** with 8-byte alignment is unit-tested only — never proven against a real controller. - [ ] Uses `lock(this)` on the private `Pending` type — switch to a private lock object. - [ ] The struct handle is not compared across Read Tag Fragmented reply fragments (a mid-read type change would be stitched silently).
dohertj2 added the driver/abcip label 2026-10-07 19:02:13 -04:00
Author
Owner

Fixed: private lock object; struct handle compared across Read Tag Fragmented fragments (mismatch fails BadReply). Residual: wide-struct fragmented WRITE unproven on a real controller (presses are read-only, no bench controller) — recorded in docs/drivers/AbCip.md. (merge bd2bebed on master, pushed 2026-10-08)

Fixed: private lock object; struct handle compared across Read Tag Fragmented fragments (mismatch fails BadReply). Residual: wide-struct fragmented WRITE unproven on a real controller (presses are read-only, no bench controller) — recorded in docs/drivers/AbCip.md. (merge `bd2bebed` on master, pushed 2026-10-08)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#567