summaryrefslogtreecommitdiffstats
path: root/include/internal
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-07-03 15:45:25 +0100
committerPauli <pauli@openssl.org>2023-07-19 13:03:11 +1000
commitfd6c1476a09b4766ce6c435d50ad16acebcd46df (patch)
treecf650e1630c2fe0cc857fb436c7a66e7d373c473 /include/internal
parent79a80f8b58bed854eb30a22e1643869dcc29e005 (diff)
QUIC ACKM: Clean up max_ack_delay tracking and separate TX and RX values
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21349)
Diffstat (limited to 'include/internal')
-rw-r--r--include/internal/quic_ackm.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/internal/quic_ackm.h b/include/internal/quic_ackm.h
index ca0c1aab1f..96673303bd 100644
--- a/include/internal/quic_ackm.h
+++ b/include/internal/quic_ackm.h
@@ -38,6 +38,23 @@ void ossl_ackm_set_ack_deadline_callback(OSSL_ACKM *ackm,
void *arg),
void *arg);
+/*
+ * Configures the RX-side maximum ACK delay. This is the maximum amount of time
+ * the peer is allowed to delay sending an ACK frame after receiving an
+ * ACK-eliciting packet. The peer communicates this value via a transport
+ * parameter and it must be provided to the ACKM.
+ */
+void ossl_ackm_set_rx_max_ack_delay(OSSL_ACKM *ackm, OSSL_TIME rx_max_ack_delay);
+
+/*
+ * Configures the TX-side maximum ACK delay. This is the maximum amount of time
+ * we are allowed to delay sending an ACK frame after receiving an ACK-eliciting
+ * packet. Note that this cannot be changed after a connection is established as
+ * it must be accurately reported in the transport parameters we send to our
+ * peer.
+ */
+void ossl_ackm_set_tx_max_ack_delay(OSSL_ACKM *ackm, OSSL_TIME tx_max_ack_delay);
+
typedef struct ossl_ackm_tx_pkt_st OSSL_ACKM_TX_PKT;
struct ossl_ackm_tx_pkt_st {
/* The packet number of the transmitted packet. */