Update to Mio v1 by Thomasdezeeuw · Pull Request #6635 · tokio-rs/tokio (original) (raw)

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 andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation15 Commits2 Checks88 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

Thomasdezeeuw

Bumps the MSRV to 1.70.

One breaking changes is the removal of mio:🥅:SocketAddr, replacing it with std::os::unix:🥅: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

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

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

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

@Thomasdezeeuw

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

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

This was referenced

Jun 26, 2024

@Darksonn

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

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

@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

The update will happen some time next week.

@Darksonn

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

@atouchet

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

@Thomasdezeeuw

One breaking changes is the removal of mio:🥅:SocketAddr, replacing it with std::os::unix:🥅: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

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

@Thomasdezeeuw

@Thomasdezeeuw

Fixes an issue with null byte being included in UDS addresses.

@Darksonn

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

@Thomasdezeeuw

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

Darksonn

Choose a reason for hiding this comment

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

Thank you.

Labels

A-tokio

Area: The main tokio crate

M-io

Module: tokio/io