diff options
author | Hugo Landau <hlandau@openssl.org> | 2023-04-26 13:08:11 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2023-05-01 11:03:54 +0100 |
commit | 1c44ed7bd3546d12fc95d8624e292412e357f789 (patch) | |
tree | bbd4c9f7cdedd46088cff4ba75435d25c24a9567 /doc/designs | |
parent | 66ec534861cc278bfb074a8fa3fa1fe3385723f8 (diff) | |
download | openssl-1c44ed7bd3546d12fc95d8624e292412e357f789.tar.gz |
QUIC CC: Update CC design document
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20423)
Diffstat (limited to 'doc/designs')
-rw-r--r-- | doc/designs/quic-design/congestion-control.md | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/designs/quic-design/congestion-control.md b/doc/designs/quic-design/congestion-control.md index d2c9323695..336290b5f9 100644 --- a/doc/designs/quic-design/congestion-control.md +++ b/doc/designs/quic-design/congestion-control.md @@ -20,11 +20,12 @@ faciliated via the `get_wakeup_deadline` method and the `now` argument to the controller makes use of this facility, it can be used by future congestion controllers to implement packet pacing. -Congestion controllers may expose integer configuration options via the -`set_option_uint` and `get_option_uint` methods. These options may be specific -to the congestion controller method, although there are some well known ones -intended to be common to all congestion controllers. The use of strings for -option names is avoided for performance reasons. +Congestion controllers may expose arbitrary configuration parameters via the +`set_input_params` method. Equally, congestion controllers may expose diagnostic +outputs via the `bind_diagnostics` and `unbind_diagnostics` methods. The +configuration parameters and diagnostics supported may be specific to the +congestion controller method, although there are some well known ones intended +to be common to all congestion controllers. Currently, the only dependency injected to a congestion controller is access to a clock. In the future it is likely that access at least to the statistics @@ -48,3 +49,6 @@ changed to avoid this. This involves some small amounts of functionality which RFC 9002 considers part of the congestion controller being part of the ACK manager in our implementation. See the comments in `include/internal/quic_cc.h` and `ssl/quic/quic_ackm.c` for more information. + +The congestion control API may be revised to allow pluggable congestion +controllers via a provider-based interface in the future. |