Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add poll-io feature to support using epoll on top of uring #232

Merged
merged 1 commit into from
Feb 1, 2024

Conversation

ihciah
Copy link
Member

@ihciah ihciah commented Jan 31, 2024

Currently, there are great difficulties in using components bound to the tokio io interface in monoio. One way is to disable uring and turn on tokio-compat feature, but this cannot effectively utilize iouring; another way is to spend an extra copy overhead and provide compatible io through the monoio-compat crate, which has a relatively high performance cost.

This PR supports the use of epoll/kqueue and syscall on existing drivers(iouring or epoll/kqueue) by adding a new feature called poll-io to expose tokio::io::{AsyncRead, AsyncWrite}. In this way, readiness-oriented IO can be provided in the most efficient form without affecting the performance of other components.

@ihciah ihciah force-pushed the pollio branch 4 times, most recently from 5b07ad7 to c672214 Compare January 31, 2024 09:03
@ihciah ihciah merged commit 137c173 into bytedance:master Feb 1, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants