-
Notifications
You must be signed in to change notification settings - Fork 804
Open
Description
On QNX, Mio currently uses POSIX polling. QNX provides ionotify() as the native I/O notification mechanism; poll()/select() are layered on top of it. Implementing a QNX backend that uses ionotify() should reduce overhead and close the gap many users observe between Linux and QNX when running Tokio‑based apps.
Proposed scope
New cfg(target_os = "qnx") driver mirroring the epoll/kqueue pattern (state in kernel; readiness‑based).
Feature‑gated integration with Mio’s Poll API (Registration, SetReadiness, Events).
Graceful fallback to existing polling if ionotify() unavailable at runtime (older SDKs).
Acceptance criteria
cargo check on QNX in CI (self‑hosted runner OK).
Parity tests: echo server, UDP, timers, and readiness transitions.
Benchmarks: simple TCP throughput/latency against current polling fallback.
Maintenance plan
At least 2 named maintainers with QNX access; GitHub team can be pinged for OS‑specific issues.
Documented CI recipe (SDK version, toolchain, how to run tests).
Initial stability behind an experimental feature flag for one release cycle.
Thomasdezeeuw, samp-reston and t6tb7n
Metadata
Metadata
Assignees
Labels
No labels