tokio-rs / tokio

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
https://tokio.rs
MIT License
25.44k stars 2.3k forks source link

Update to Mio v1 #6635

Open Thomasdezeeuw opened 3 weeks ago

Thomasdezeeuw commented 3 weeks ago

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 commented 3 weeks ago

Are you able to add a test for https://github.com/tokio-rs/mio/pull/1749#pullrequestreview-2106218677 not being breaking in Tokio? I think we may not have a test for this case.

Thomasdezeeuw commented 3 weeks ago

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 commented 3 weeks ago

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

Thomasdezeeuw commented 3 weeks ago

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

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

Darksonn commented 5 days ago

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.