p-quic / pquic

The PQUIC implementation, a framework that enables QUIC clients and servers to dynamically exchange protocol plugins that extend the protocol on a per-connection basis
https://pquic.org
MIT License
126 stars 20 forks source link

Question: Can plugins modify the congestion control behavior? #5

Closed hawkinsw closed 4 years ago

hawkinsw commented 4 years ago

I am sorry to ask a meta question here, but I was just wonder whether or not you are considering plugins that have the capability to modify the congestion control algorithms in quic? There are protocols that do this type of thing (UDT3, https://en.wikipedia.org/wiki/UDP-based_Data_Transfer_Protocol) and I thought it might be really cool to have quic be able to do something similar.

I think that the work on making quick "pluginizable" is awesome and incredibly valuable. Thank you for working so hard on it! I apologize if the question is stupid, naive, or off topic. Please tell me if it is!

Thanks again!

Will

mpiraux commented 4 years ago

Those kind of questions are welcomed! You can replace the congestion controller using this protoop: https://github.com/p-quic/pquic/blob/master/picoquic/protoop.h#L302-L314. We currently have no public plugins replacing the CC but we did experiment with it and were able to implement a new CC.

mpiraux commented 4 years ago

I close this issue as no further assistance seems required.