Skip to content

Commit

Permalink
io: add budgeting to tokio::runtime::io::registration::async_io
Browse files Browse the repository at this point in the history
Fixes #5946.
Fixes #4782.

This change adds budgeting to most of the remaining unbudgeted IO operations which can complete instantly, including datagram send/recv operations and listener socket accepts.

This is particularly significant for scenarios in which resource limits are hit, as it can be common for things like listener tasks to spin when receiving errors and just log them, busy looping worker threads which might otherwise be handling existing connections and closing them.

This can also sometimes lead to complex failure scenarios within datagram systems experiencing resource exhaustion.
  • Loading branch information
= committed Dec 16, 2023
1 parent 9ab4ca6 commit 7a64ff0
Show file tree
Hide file tree
Showing 3 changed files with 1,482 additions and 117 deletions.
Loading

0 comments on commit 7a64ff0

Please sign in to comment.