quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.76k stars 380 forks source link

Disable GSO after encountering EIO on send, redux #1210

Closed Ralith closed 2 years ago

Ralith commented 2 years ago

Fixes https://github.com/quinn-rs/quinn/issues/1128 and https://github.com/quinn-rs/quinn/issues/1190.

Ralith commented 2 years ago

Moved the EIO check down into quinn-udp because we suppress errors other than WouldBlock at that layer; as a bonus this will work better for our quinn-proto + quinn-udp users as well.

Ralith commented 2 years ago

Performance impact on the bulk benchmark, if any, is well below my ability to detect in my environment. Isn't a relaxed atomic write just a plain write on x86, anyway?

Ralith commented 2 years ago

Fixed lint issue.