#kqueue #epoll #poll #sockets

notifier

A wrapper around platform event notification APIs that can also handle high-resolution timer events, including those set (on another thread) during a notifier.wait() call

4 releases

0.1.3 Aug 30, 2019
0.1.2 Aug 12, 2019
0.1.1 Jul 25, 2019
0.1.0 Aug 3, 2018

#9 in #kqueue

Download history 1/week @ 2024-01-08 8/week @ 2024-02-19 22/week @ 2024-02-26 15/week @ 2024-03-04 18/week @ 2024-03-11 16/week @ 2024-03-18 17/week @ 2024-03-25

71 downloads per month
Used in 2 crates (via constellation-rs)

MIT/Apache

30KB
865 lines

notifier

Crates.io MIT / Apache 2.0 licensed Build Status

Docs

A wrapper around platform event notification APIs (currently via mio) that can also handle high-resolution timer events, including those set (on another thread) during a notifier.wait() call.

Delivers edge-triggered notifications for file descriptor state changes (corresponding to mio::Ready::readable() | mio::Ready::writable() | mio::unix::UnixReady::hup() | mio::unix::UnixReady::error()) as well as elapsing of instants.

It's designed to be used in conjunction with a library that exhaustively collects events (e.g. connected, data in, data available to be written, remote closed, bytes acked, connection errors) upon each edge-triggered notification – for example tcp_typed.

Note

Currently doesn't support Windows.

License

Licensed under either of

at your option.

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.

Dependencies

~3.5MB
~70K SLoC