io-uring-epoll

Crates.ioio-uring-epoll
lib.rsio-uring-epoll
version
sourcesrc
created_at2024-03-31 18:23:35.580156+00
updated_at2025-02-26 23:24:40.880736+00
descriptionWhen your io_uring meets your epoll
homepagehttps://github.com/yaws-rs/io_uring-utils/tree/main/io-uring-epoll
repositoryhttps://github.com/yaws-rs/io_uring-utils/tree/main/io-uring-epoll
max_upload_size
id1191820
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
pinkforest(she/her) (pinkforest)

documentation

README

io-uring-epoll

Discord chat Crates.io Docs License License MSRV

meme what If I told you your epoll is in your io_uring

When your io_uring meets your epoll 🥰

Save system calls by setting file handle readiness checks especially in busy eventloops that have a lot of on/off readiness activity via io_uring interface.

Please note that epoll is different to reqular poll and is only available on Linux kernel.

Epoll itself has been in the Linux kernel around 20 years but io_uring has recently added the EpollCtl OpCode support in order to bypass the need of systerm calls to control it.

This is not a portable implementation given Windows I/O rings or MacOS doesn't provide anything related with their relevant epoll implementations if any.

Add

cargo add io-uring-epoll

Example

See Examples directory for the different use-cases.

License

Licensed under either of:

Contribution

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.

Commit count: 47

cargo fmt