- Add support for visionOS. (#217)
- Fix typos in documentation. (#216)
- Update to
windows-sys
v0.59. (#214)
- Update
hermit-abi
to v0.4.0. (#209)
- Fix a typo in
Event::is_err()
. (#204)
- Add support for the PS Vita as a platform. (#160)
- Add an
is_err
method toEvent
to tell when an error has occurred. (#189) - Deprecate the
is_connect_failed
function. (#189) - Add support for HermitOS to
polling
. (#194)
- Use the
epoll
backend when RedoxOS is enabled. (#190)
- Add the ability to identify whether socket connection has failed. (#185)
- On BSD, add the ability to wait on a process by its PID. Previously, it was
only possible to wait on a process by a
Child
object. (#180) - On ESP-IDF, annotate
eventfd
initialization failures with a message indicating the source of those failures. (#186)
- When AFD fails to initialize, the resulting error now references the underlying system error. (#174)
- Bump
windows-sys
to v0.52.0. (#169)
- Automatically restarts polling when
ErrorKind::Interrupted
is returned, rather than relying on the user to handle it. (#164) - Fix bad link in documentation for
Poller::wait()
. (#163)
- The
kqueue
backend previously allowed the following operations that other backends forbid. Now these operations result in an error: (#153)- Inserting a source that was already inserted.
- Modifying/deleting a source that was not already inserted.
- Add support for Haiku OS. (#154)
- Add an
Event::new()
constructor to simplify creatingEvent
s. (#149)
- Replace
libc
in all backends with therustix
crate (#108). - Use
tracing
instead oflog
for logging (#119). - Breaking: Rework the API to use I/O safety. Note that this makes several previously safe functions unsafe. (#123)
- Add support for the ESP-IDF platform. (#128)
- Breaking: Make
Event
partially opaque, and create a newEvents
struct for holding events. (#133) - Add support for running
polling
in Linux containers withouteventfd
available. (#134) - Specify the behavior when registered in multiple
Poller
s. (#136) - Breaking: Use
c_int
from the standard library inpolling::os::kqueue
instead of defining our own. (#143) - Breaking: Remove the useless
std
feature. (#147)
- Add functionality for posting events to the IOCP. (#101)
- Add edge/oneshot combination mode. (#96)
- Update windows-sys requirement from 0.45 to 0.48. (#103)
- Add level and edge triggered modes to the poller (#59)
- Support tvOS and watchOS (#60)
- Prevent large timeouts from causing panics on certain backends (#71)
- For certain BSDs, use
EVFILT_USER
to wake up the poller instead of a pipe (#73) - For Solaris/illumos, use
port_send
to wake up the poller instead of a pipe (#74) - Update
windows_sys
from 0.42 to 0.45 (#80) - Expose other
kqueue
filter types (#83) - Replace the Windows backend with a hand-written version, rather than bringing in a C dependency (#88)
- Update use of
libc::timespec
to prepare for future libc version (#55) - Update use of
libc::kevent
to prepare for future libc version (#56) - Add error message for Wepoll (#54)
- Fix the build error with MSRV on Windows
- Switch from
winapi
towindows-sys
(#47)
- Fix the build error on illumos and Solaris (#43)
- Bump MSRV to 1.47 (#40)
- Optimize
Poller
internal representation (#40)
- Implement
AsRawFd
forPoller
on most Unix systems (#39) - Implement
AsRawHandle
forPoller
on Windows (#39) - Implement I/O safety traits on Rust 1.63+ (#39)
- Support VxWorks, Fuchsia and other Unix systems by using poll. (#26)
- Switch from
wepoll-sys
towepoll-ffi
.
- Update
cfg-if
dependency to 1.
- Replace manual pointer conversion with
as_ptr()
andas_mut_ptr()
.
- Minor docs improvements.
- Add
Event
argument toPoller::insert()
. - Don't put fd/socket in non-blocking mode upon insertion.
- Rename
insert()
/interest()
/remove()
toadd()
/modify()
/delete()
. - Replace
wepoll-sys-stjepang
with anwepoll-sys
.
- Add "std" cargo feature.
- Remove
libc
dependency on Windows.
- Bump MSRV to 1.40.0
- Replace the
epoll_create1
hack with a cleaner solution. - Pass timeout to
epoll_wait
to support systems withouttimerfd
.
- Fix a typo in the readme.
- Stabilize.
- Fix compilation on x86_64-unknown-linux-gnux32
- Replace
log::debug!
withlog::trace!
.
- Specify oneshot mode in epoll/wepoll at insert.
- Add logging.
- Fix a bug where epoll would block when the timeout is set to zero.
- More tests.
- Optimize notifications.
- Fix a bug in timeouts on Windows where it would trigger too early.
- Support sub-nanosecond precision on Linux/Android.
- Improve error handling around event ports fcntl
- Add support for event ports (illumos and Solaris)
- Improve documentation
- Fix a bug in
Event::none()
.
- Initial version