quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.85k stars 394 forks source link

Fragmentation handling improvements #1547

Closed Ralith closed 1 year ago

Ralith commented 1 year ago

Fixes https://github.com/quinn-rs/quinn/issues/664.

Some questions following from this work:

Ralith commented 1 year ago

According to https://en.wikipedia.org/wiki/MacOS_version_history, macOS <11 is officially unsupported, at least.

Ralith commented 1 year ago

I've improved MTUD configuration ergonomics by adding an argument to quinn_proto::Connection::new which quinn uses to clobber the user-specified MTUD configuration on unsupported backends.

djc commented 1 year ago

Are older macOS builds worth supporting?

Let's default to no and see if people complain?

complexspaces commented 1 year ago

FWIW, rustc and the standard library still supports all the way back to macOS 10.7. I think the approach of waiting to see is fine, but I figured it was worth mentioning since there are a lot of users who are still on the 10.x line for reasons outside their control and this change would preclude the use of the crate in builds with a deployment target set to even 10.15 (out of support for less then a year).

djc commented 1 year ago

@complexspaces thanks for following up! Is Quinn in use (perhaps indirectly) at 1P?

since there are a lot of users who are still on the 10.x line for reasons outside their control

Can you quality "a lot of users" a bit more? Presumably this is the 1P population, can you disclose a rough percentage?

builds with a deployment target set to even 10.15 (out of support for less then a year).

In my mind that's still likely to be a pretty small population... For context, 10.15 (Catalina) is the version released in Oct 2019, so about 2.5 years ago at this point.