You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Async, an adapter for standard networking types (and many other types) to use in
async programs.
Timer, a future that expires at a point in time.
For concrete async networking types built on top of this crate, see async-net.
Implementation
The first time Async or Timer is used, a thread named "async-io" will be spawned.
The purpose of this thread is to wait for I/O events reported by the operating system, and then
wake appropriate futures blocked on I/O or timers when they can be resumed.
To wait for the next I/O event, the "async-io" thread uses epoll on Linux/Android/illumos,
kqueue on macOS/iOS/BSD, event ports on illumos/Solaris, and IOCP on Windows. That
functionality is provided by the polling crate.
However, note that you can also process I/O events and wake futures on any thread using the
block_on() function. The "async-io" thread is therefore just a fallback mechanism
processing I/O events in case no other threads are.
Examples
Connect to example.com:80, or time out after 10 seconds.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.