-
Notifications
You must be signed in to change notification settings - Fork 87
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
Async IO, Mio support #1043
Comments
A whole bunch of close-to-the-metal crates are yielding compiler errors upon compilation with --target x86_64-unknown-hermit. MIO is not. Using hermit might necessitate relying on threads for IO instead of using MIO. hermit-os/kernel#1043
We are working on async support for userspace. :) See also smol-rs/polling#177 |
That is wonderful, thank you :) So we'd probably have to mygrate to smol-rs/polling to make use of that? |
No, we want to support Mio too. We are currently at the stage of needing to implement the kernel primitives, but are happy to support multiple different user space crates for async I/O. |
Sounds great, thank you for that work! Then we will try again once that lands. |
I've seen some work have been done on making mio and socket2 compatible with hermit in the repos, but none upstreamed, any issues there? |
In principle not. At first, we want to upstream the current version into mio (see tokio-rs/mio#1775). To simplify it, we wrote a PR for libc (see rust-lang/libc#3724). Afterwards, we will upstream the other versions. |
I've seen tokio now building correctly with .cargo/config.toml target set up to hermit |
So far i've made a merge and little fixes to tests here: https://github.com/tema3210/socket2 based on your branch - have i missed smth? |
Thank you for building hermit; I hope this will become a conerstone of rust infrastructure soon!
At Rosenpass (post quantum security for WireGuard in Rust) we are currently exploring using broker based security sandboxing. As part of this project we are trying to add experimental support for running significant parts of the Rosenpass deployment inside Hermit OS.
The core rosenpass process uses mio to handle IO operations to enable the use of async io. We are considering eventually migrating to tokio.
Building hermit-rs-template with
--target x86_64-unknown-hermit
and a dependency on mio without non-default features yields a successful build. Adding the net feature yields a whole bunch of compile time errors (log).Is using mio expected to work?
Errors (excerpt)
The text was updated successfully, but these errors were encountered: