Add an optional low-level Tokio AsyncClient for one connected UDP target.
Feature boundary
Tokio remains disabled by default and uses only rt, net, time, and sync.
Existing blocking and managed clients are unchanged.
Transactional async lifecycle
Reuse SessionMachine and ProbeSchedule for opening, probe sending, timeout
polling, receive classification, and close commits.
Readiness and cancellation
Retain preparations across cancellation and WouldBlock without committing
protocol state. Commit immediately after successful kernel acceptance.
Socket parity
Provide asynchronous DNS, IPv4/IPv6 binding, IPv6-only pre-bind setup,
DSCP handling, and Linux ancillary receives integrated with Tokio readiness.
Testing
Add focused cancellation/readiness/short-send tests and blocking-versus-async
equivalence coverage for HMAC, DSCP, no-test, timeout, finite runs, and peer close.
## Summary
Add an optional low-level Tokio AsyncClient for one connected UDP target.
## Feature boundary
Tokio remains disabled by default and uses only rt, net, time, and sync.
Existing blocking and managed clients are unchanged.
## Transactional async lifecycle
Reuse SessionMachine and ProbeSchedule for opening, probe sending, timeout
polling, receive classification, and close commits.
## Readiness and cancellation
Retain preparations across cancellation and WouldBlock without committing
protocol state. Commit immediately after successful kernel acceptance.
## Socket parity
Provide asynchronous DNS, IPv4/IPv6 binding, IPv6-only pre-bind setup,
DSCP handling, and Linux ancillary receives integrated with Tokio readiness.
## Testing
Add focused cancellation/readiness/short-send tests and blocking-versus-async
equivalence coverage for HMAC, DSCP, no-test, timeout, finite runs, and peer close.
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
### 💡 Codex Review
Here are some automated review suggestions for this pull request.
**Reviewed commit:** `b1e32d543c`
<details> <summary>ℹ️ About Codex in GitHub</summary>
<br/>
[Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
</details>
When any Cargo command loads this workspace, Cargo rejects this multiline inline table with newlines are unsupported in inline tables, so the entire workspace currently fails before compilation or tests can run. Keep the dependency specification on one line or replace it with a [dependencies.tokio] table.
Useful? React with 👍 / 👎.
**<sub><sub></sub></sub> Put the Tokio inline table on one line**
When any Cargo command loads this workspace, Cargo rejects this multiline inline table with `newlines are unsupported in inline tables`, so the entire workspace currently fails before compilation or tests can run. Keep the dependency specification on one line or replace it with a `[dependencies.tokio]` table.
Useful? React with 👍 / 👎.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add an optional low-level Tokio AsyncClient for one connected UDP target.
Feature boundary
Tokio remains disabled by default and uses only rt, net, time, and sync.
Existing blocking and managed clients are unchanged.
Transactional async lifecycle
Reuse SessionMachine and ProbeSchedule for opening, probe sending, timeout
polling, receive classification, and close commits.
Readiness and cancellation
Retain preparations across cancellation and WouldBlock without committing
protocol state. Commit immediately after successful kernel acceptance.
Socket parity
Provide asynchronous DNS, IPv4/IPv6 binding, IPv6-only pre-bind setup,
DSCP handling, and Linux ancillary receives integrated with Tokio readiness.
Testing
Add focused cancellation/readiness/short-send tests and blocking-versus-async
equivalence coverage for HMAC, DSCP, no-test, timeout, finite runs, and peer close.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
b1e32d543cℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -16,10 +16,12 @@ irtt-proto.workspace = truelibc = { version = "0.2.189", optional = true }When any Cargo command loads this workspace, Cargo rejects this multiline inline table with
newlines are unsupported in inline tables, so the entire workspace currently fails before compilation or tests can run. Keep the dependency specification on one line or replace it with a[dependencies.tokio]table.Useful? React with 👍 / 👎.