async-io icon indicating copy to clipboard operation
async-io copied to clipboard

Async I/O and timers

Results 22 async-io issues
Sort by recently updated
recently updated
newest added

This PR implements `AsFd` and `AsSocket` for `Async`. In addition, `TryFrom

`tokio` uses [cooperative task yielding](https://tokio.rs/blog/2020-04-preemption) to improve tail latencies in the circumstance that a resource polled in a loop fails to yield, leading to starvation of other tasks. Something similar...

There is an (undocumented) NtAssociateWaitCompletionPacket syscall that can be used for the purpose.

Use the [rustix] syscall wrapper crate to factor out error handling and unsafe system calls. This reduces the amount of unsafe code here, and is a step towards factoring it...

My analysis of the problem is that using the current `Reactor::ticker` value in `ticks` is not always correct. It is my understanding that when placing a ticker value into `Direction::ticks`...

I was going though a libp2p tutorial and found that I couldn't reliably run libp2p-lookup against libp2p-relay_v2. The libp2p-lookup would work the first time I ran libp2p-relay_v2 after a reboot....

Because `std::time::Instant` is implemented using `libc::clock_gettime(CLOCK_MONOTONIC)` and this time does not advance on Android while the app is in "doze" state, the timer may be effectively paused on Android: https://users.rust-lang.org/t/std-now-with-android/41774...

This passes the responsibility for calling the Reactor between threads instead of relying on the async-io thread to pick up the abandoned Reactor. Threads that are waiting in block_on are...

fixes #40 This pull adds a new feature called `driver`. It is enabled by default. If disabled `async-io` will not spawn a background thread to drive the Reactor. Note: afaik...

Mostly for tech porn reasons, it's new and shiny. Apparently it's also faster. Not sure if it fits in async-io, because it works very different from epoll from what I...