summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-06-06 16:25:10 +0100
committerPauli <pauli@openssl.org>2023-07-17 08:17:57 +1000
commit85bbef270c1d15ec34e152c13f41ec0c298f5459 (patch)
tree087f27bc1a2bd020848f3d7faa541b5904513300 /include
parent6c1d0e28650164d782909abfea92ba834d0babd5 (diff)
QUIC ACKM: Clarify the role of is_inflight
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21135)
Diffstat (limited to 'include')
-rw-r--r--include/internal/quic_ackm.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/internal/quic_ackm.h b/include/internal/quic_ackm.h
index 7574c97a96..ca0c1aab1f 100644
--- a/include/internal/quic_ackm.h
+++ b/include/internal/quic_ackm.h
@@ -67,10 +67,19 @@ struct ossl_ackm_tx_pkt_st {
*/
unsigned int pkt_space :2;
- /* 1 if the packet is in flight. */
+ /*
+ * 1 if the packet is in flight. A packet is considered 'in flight' if it is
+ * counted for purposes of congestion control and 'bytes in flight' counts.
+ * Most packets are considered in flight. The only circumstance where a
+ * numbered packet is not considered in flight is if it contains only ACK
+ * frames (not even PADDING frames), as these frames can bypass CC.
+ */
unsigned int is_inflight :1;
- /* 1 if the packet has one or more ACK-eliciting frames. */
+ /*
+ * 1 if the packet has one or more ACK-eliciting frames.
+ * Note that if this is set, is_inflight must be set.
+ */
unsigned int is_ack_eliciting :1;
/* 1 if the packet is a PTO probe. */