summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-04-26 13:08:11 +0100
committerMatt Caswell <matt@openssl.org>2023-05-01 11:03:54 +0100
commit1c44ed7bd3546d12fc95d8624e292412e357f789 (patch)
treebbd4c9f7cdedd46088cff4ba75435d25c24a9567 /doc
parent66ec534861cc278bfb074a8fa3fa1fe3385723f8 (diff)
downloadopenssl-new-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')
-rw-r--r--doc/designs/quic-design/congestion-control.md14
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.