Joseph Doherty
b36f5644d3
test(s7): wait out the clock tick before asserting LastSuccessfulRead advanced ( #589 )
...
The driver stamps DateTime.UtcNow at init and again per read pass; under CPU
contention both land in the same tick, so the strict greater-than assertions
flaked (reproduced 1/40 under load, sibling test A_cancelled_pass_still_flushes...
failed identically with equal timestamps). Test-only race; no production defect.
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-08 00:22:11 -04:00
Joseph Doherty
1765e30063
fix(s7): worst-severity error message + OCE flushes recorded pass evidence (review round)
2026-08-18 07:10:51 -04:00
Joseph Doherty
b35e423c1d
fix(s7): a read pass that observes nothing reports nothing — empty pass no longer clears Faulted
2026-08-18 07:00:33 -04:00
Joseph Doherty
4c16118105
fix(s7): read-pass health is worst-state-wins — a mixed pass can no longer report Healthy
2026-08-17 07:14:32 -04:00
Joseph Doherty
120e885b31
test(s7): assert the stale handle is disposed, not just replaced, in the cancellation-reopen pins
2026-08-17 05:39:47 -04:00
Joseph Doherty
4f86073333
test(s7): pin the span/multi-var cancellation reopen contract, one-bad-decode-in-chunk, and multi-var shape mismatch
2026-08-17 05:33:45 -04:00
Joseph Doherty
20022083df
perf(s7): span leftovers batch through multi-var read PDUs with per-chunk fallback
2026-08-17 04:05:42 -04:00
Joseph Doherty
6ee553cf8f
feat(s7): expose ReadMultipleVarsAsync through the IS7Plc seam
2026-08-17 03:48:15 -04:00
Joseph Doherty
39f67a0fce
perf(s7): span-grouped reads — one PDU per contiguous block instead of one per tag
2026-08-16 04:15:37 -04:00