quinn-rs / quinn

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

Controller Trait is not externally implementable anymore #1242

Closed BiagioFesta closed 2 years ago

BiagioFesta commented 3 years ago

With the new release 0.8.0, the trait Controller cannot be implemented (e.g. a custom congestion controller) because the method on_ack requires RttEstimator which seems to not be pub re-exported.

Or am I missing something? (in that case I apologize for my laziness in not had a deeper check and I am going to immediately close this issue).

The trait and the library design with dyn polymorphism seems to encourage the possibility to implement a custom cc. Considering this was allowed before and I don't find any relevant in the release notes.

Waiting for feedback. If needed, I will be glad to open a small PR to fix this.

djc commented 3 years ago

Yes, I think this is just an oversight and we should make RttEstimator public.

Ralith commented 3 years ago

Thanks for catching this; a PR would be very welcome!

Ralith commented 2 years ago

Fixed by https://github.com/quinn-rs/quinn/pull/1243.