From: Hugo Landau Date: Mon, 22 Jan 2024 13:15:08 +0000 (+0000) Subject: QUIC RXFC: Add accessor for credit X-Git-Tag: openssl-3.3.0-alpha1~158 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a774062466d3d2d2908c4f076a9cbbd2cb00738a;p=thirdparty%2Fopenssl.git QUIC RXFC: Add accessor for credit Reviewed-by: Neil Horman Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/23360) --- diff --git a/include/internal/quic_fc.h b/include/internal/quic_fc.h index 49b448a3a48..db55bb74558 100644 --- a/include/internal/quic_fc.h +++ b/include/internal/quic_fc.h @@ -229,20 +229,26 @@ int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc, * * This value increases monotonically. */ -uint64_t ossl_quic_rxfc_get_cwm(QUIC_RXFC *rxfc); +uint64_t ossl_quic_rxfc_get_cwm(const QUIC_RXFC *rxfc); /* * Returns the current SWM. This is the total number of bytes the peer has * transmitted to us. This is intended for diagnostic use only; you should * not need it. */ -uint64_t ossl_quic_rxfc_get_swm(QUIC_RXFC *rxfc); +uint64_t ossl_quic_rxfc_get_swm(const QUIC_RXFC *rxfc); /* * Returns the current RWM. This is the total number of bytes that has been * retired. This is intended for diagnostic use only; you should not need it. */ -uint64_t ossl_quic_rxfc_get_rwm(QUIC_RXFC *rxfc); +uint64_t ossl_quic_rxfc_get_rwm(const QUIC_RXFC *rxfc); + +/* + * Returns the current credit. This is the CWM minus the SWM. This is intended + * for diagnostic use only; you should not need it. + */ +uint64_t ossl_quic_rxfc_get_credit(const QUIC_RXFC *rxfc); /* * Returns the CWM changed flag. If clear is 1, the flag is cleared and the old diff --git a/ssl/quic/quic_fc.c b/ssl/quic/quic_fc.c index 750e896306f..7e36aab09ee 100644 --- a/ssl/quic/quic_fc.c +++ b/ssl/quic/quic_fc.c @@ -359,21 +359,26 @@ int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc, return 1; } -uint64_t ossl_quic_rxfc_get_cwm(QUIC_RXFC *rxfc) +uint64_t ossl_quic_rxfc_get_cwm(const QUIC_RXFC *rxfc) { return rxfc->cwm; } -uint64_t ossl_quic_rxfc_get_swm(QUIC_RXFC *rxfc) +uint64_t ossl_quic_rxfc_get_swm(const QUIC_RXFC *rxfc) { return rxfc->swm; } -uint64_t ossl_quic_rxfc_get_rwm(QUIC_RXFC *rxfc) +uint64_t ossl_quic_rxfc_get_rwm(const QUIC_RXFC *rxfc) { return rxfc->rwm; } +uint64_t ossl_quic_rxfc_get_credit(const QUIC_RXFC *rxfc) +{ + return ossl_quic_rxfc_get_cwm(rxfc) - ossl_quic_rxfc_get_swm(rxfc); +} + int ossl_quic_rxfc_has_cwm_changed(QUIC_RXFC *rxfc, int clear) { int r = rxfc->has_cwm_changed;