fix(client): invalidate TX correlation after send failures

This commit is contained in:
Nils Andreas Svee committed 2026-09-15 13:03:36 +07:00
1 parent 188d6e5354
commit e861de5247
6 files changed
+66 -9

No files matched your search

+4 -1
View File
@@ -39,7 +39,10 @@ assumption that failed or nonblocking sends cannot cause that desynchrony.
The effect is confined to the optional timing enhancement. A kernel timestamp
whose ID cannot be matched to a pending or retained timed-out probe is
discarded, as is any implausible timestamp; `sent_at` remains the ordinary
userspace fallback. This is safe because:
userspace fallback. **After every failed probe submission, disable kernel-ID
correlation for the rest of that session.** A gap means an otherwise plausible
later ID can name the wrong probe, so subsequent error-queue timestamps must
be discarded rather than attached by ID. This is safe because:
- **Normal successful sends track together.** `wire_seq` starts at 0 on every
successful Open (`SessionMachine::commit_open` builds a fresh