Skip to content

Reject unsupported Session scheduling enum values - #26

Merged
soulteary merged 1 commit into
mainfrom
fix/transport-enum-validation
Nov 6, 2026
Merged

soulteary merged 1 commit into
mainfrom
fix/transport-enum-validation

Conversation

@soulteary

@soulteary soulteary commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Problem

Session accepted unknown FIFO capacity units, send policies and deadline policies. Unknown send enum values could reach the queue and backend instead of being rejected as invalid configuration.

Change

Validate SessionOptions::fifo_unit before configuration assignment and validate SendOptions::policy and SendOptions::deadline_policy before Job allocation and admission. Unsupported values throw ValidationError.

No public signatures, enum values or defaults change. Supported configurations retain their existing behavior. The shared submission path covers Session, DeviceSession and registered operations; conditional latest replacement retains its policy requirement.

Regression tests check negative and out-of-range positive values, configuration preservation, empty-queue rejection, pending queue counters, preservation of an existing latest receipt, and the frames actually sent after the writer gate is released. They also exercise all supported send/deadline combinations and installed-package consumers. Both documentation editions describe rejection behavior.

Validation

Local Linux ARM64 / GCC 13 Debug:

  • 340/340 CTest cases passed.
  • Production line coverage: 5460/5511 (99.07458%, before rounding).
  • 4/4 installed-consumer tests passed.
  • Strict Clang 18 project/test checks and the broader quality-report analyzer checks passed for the changed implementation and test translation units.

All 36 CI checks passed on commit 5b334c1, including the full quality report, style checks, sanitizers, GCC/libc++ builds, Windows native tests, packages and installed consumers. No unresolved review threads were present at the final check. Tests use fake transports and do not establish hardware compatibility.

@soulteary
soulteary marked this pull request as ready for review November 6, 2026 08:48
@soulteary
soulteary merged commit e1d65e5 into main Nov 6, 2026
36 checks passed
@soulteary
soulteary deleted the fix/transport-enum-validation branch November 6, 2026 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant