- Update
concurrent-queue
to v2. (#99)
- Remove the dependency on the
once_cell
crate to restore the MSRV. (#95)
- Fix panic on very large durations. (#87)
- Add
Timer::never
(#87)
- Implement I/O safety traits on Rust 1.63+ (#84)
- Process timers set for exactly
now
. (#73)
- Add
Readable
andWritable
futures. (#64, #66) - Add
Async::{readable_owned, writable_owned}
. (#66)
- Add
Readable
andWritable
futures. (#64)
- Remove dependency on deprecated
vec-arena
. (#60)
- Implement
AsRef<T>
andAsMut<T>
forAsync<T>
. (#44) - Remove dependency on deprecated
nb-connect
. (#55)
- Lower MSRV to 1.41.0
- Add
Timer::interval()
andTimer::set_interval()
. - Add
Timer::interval_at()
andTimer::set_interval_at()
. - Implement
Stream
forTimer
.
- Add
Async::poll_readable()
andAsync::poll_writable()
.
- Update
futures-lite
.
- Only require
libc
on Unix platforms.
- Re-enable
async-net
dependency and fix CI.
- Update
polling
to v2.0.0
- Remove randomized yielding everywhere.
- Remove randomized yielding in write operations.
- Implement proper cancelation for
readable()
andwritable()
.
- Improve docs.
- Add
nb-connect
dependency. - Remove
wepoll-sys-stjepang
dependency.
- Remove
socket2
dependency.
- Add
TryFrom
conversion impls forAsync
.
- Don't box
T
inAsync<T>
. Async::incoming()
doesn't returnUnpin
streams anymore.
- Update dependencies.
- Stabilize.
- Replace
log::debug!
withlog::trace!
.
- Add logging.
- On Linux, fail fast if
writable()
succeeds after connecting toUnixStream
, but the connection is not really established.
- Prevent threads in
async_io::block_on()
from hogging the reactor forever.
- Performance optimizations in
block_on()
.
- Add probabilistic yielding to improve fairness.
- Update readme.
- Replace
parking
module withblock_on()
. - Fix a bug in
Async::<UnixStream>::connect()
.
- Bug fix: clear events list before polling.
- Simpler implementation of the
parking
module. - Extracted raw bindings to epoll/kqueue/wepoll into the
polling
crate.
- Update dependencies.
- More documentation.
- Tweak the async-io to poll I/O less aggressively.
- Tweak the async-io thread to use less CPU.
- More examples.
- Add
Timer::reset()
. - Add third party licenses.
- Code cleanup.
- Make
Parker
andUnparker
unwind-safe.
- Initialize the reactor in
Parker::new()
.
- Always use the last waker given to
Timer
. - Shutdown the socket in
AsyncWrite::poll_close()
. - Reduce the number of dependencies.
- Shutdown the write side of the socket in
AsyncWrite::poll_close()
. - Code and dependency cleanup.
- Always use the last waker when polling a timer.
- Initial version