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

Update to Mio v1 #6635

Merged
merged 2 commits into from
Jul 23, 2024
Merged

Update to Mio v1 #6635

merged 2 commits into from
Jul 23, 2024

Conversation

Thomasdezeeuw
Copy link
Contributor

@Thomasdezeeuw Thomasdezeeuw commented Jun 14, 2024

Bumps the MSRV to 1.70.

One breaking changes is the removal of mio::net::SocketAddr, replacing it with std::os::unix::net::SocketAddr. The methods on the type should be the same.

For some smaller OS, such as ESP-IDF and Hermit, it can now be compiled without RUSTFLAGS.

@Darksonn
Copy link
Contributor

Are you able to add a test for tokio-rs/mio#1749 (review) not being breaking in Tokio? I think we may not have a test for this case.

@Thomasdezeeuw
Copy link
Contributor Author

Are you able to add a test for tokio-rs/mio#1749 (review) not being breaking in Tokio? I think we may not have a test for this case.

It seems like Tokio also has it's own version of SocketAddr, hence the only code change.

What are you looking for in a test for this?

@Darksonn
Copy link
Contributor

E.g., calling UnixListener::bind with an abstract namespace.

@Thomasdezeeuw
Copy link
Contributor Author

E.g., calling UnixListener::bind with an abstract namespace.

Doesn't seem like UnixListener::bind supports abstract name spaces.

@Darksonn
Copy link
Contributor

Darksonn commented Jul 2, 2024

Just a status update on this. Before I merge this, the following steps need to happen:

  1. Create an LTS release without the upgrade, which should hopefully last until debian stable adds support for rustc 1.70.
  2. Increase MSRV to 1.70.

I've already prepared a PR for step 2, but I have not yet gotten around to step 1.

@nyurik
Copy link

nyurik commented Jul 19, 2024

Are there any updates on this? Turns out mio v1 supports more platforms like QNX, making it possible to expand Tokio usage to new Rust targets. It sounds like this is purely a release packaging, rather than implementation issue. Thanks for working on this!

@Thomasdezeeuw
Copy link
Contributor Author

@nyurik the comment in #6635 (comment) is still up to date as far as I know, but due to summer vacations things are taking a little longer. I don't think there are any technical reasons this is blocked.

@Darksonn
Copy link
Contributor

The update will happen some time next week.

@Darksonn
Copy link
Contributor

@Thomasdezeeuw MSRV bump is merged. Please rebase this on master. Then I will make a release.

@atouchet
Copy link

Can #6154 be merged as well once Mio is updated?

One breaking changes is the removal of mio::net::SocketAddr, replacing
it with std::os::unix::net::SocketAddr. The methods on the type should
be the same.

For some smaller OS, such as ESP-IDF and Hermit, it can now be compiled
without RUSTFLAGS.
@Thomasdezeeuw
Copy link
Contributor Author

Seems some new tests were added that now fail, I'll take a look at

@Thomasdezeeuw
Copy link
Contributor Author

CI should be fixed tokio-rs/mio#1817, so that means we need a Mio release first.

Fixes an issue with null byte being included in UDS addresses.
@Darksonn
Copy link
Contributor

Once this is ready for review, mark the PR as non-draft.

@Thomasdezeeuw Thomasdezeeuw marked this pull request as ready for review July 23, 2024 12:09
@Thomasdezeeuw
Copy link
Contributor Author

@Darksonn ready now, I was just waiting on the CI results.

Copy link
Contributor

@Darksonn Darksonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@Darksonn Darksonn merged commit 754a1fb into master Jul 23, 2024
79 checks passed
@Darksonn Darksonn deleted the thomas/mio-v1 branch July 23, 2024 12:26
@Darksonn Darksonn added A-tokio Area: The main tokio crate M-io Module: tokio/io labels Jul 23, 2024
@Darksonn Darksonn mentioned this pull request Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-tokio Area: The main tokio crate M-io Module: tokio/io
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants