QUIC Congestion Control: API to determine deadline at which more credit will be available

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19703)
This commit is contained in:
Hugo Landau 2022-10-31 13:51:09 +00:00
parent e5d575686e
commit 97c5c52d6c
3 changed files with 18 additions and 0 deletions

View File

@ -177,6 +177,12 @@ struct ossl_cc_method_st {
*/
size_t (*get_bytes_in_flight_max)(OSSL_CC_DATA *ccdata);
/*
* Returns the time at which the CC will next release more budget
* for sending, or ossl_time_infinite().
*/
OSSL_TIME (*get_next_credit_time)(OSSL_CC_DATA *ccdata);
/*
* To be called when a packet with retransmittable data was sent.
* |num_retransmittable_bytes| is the number of bytes sent

View File

@ -81,6 +81,12 @@ typedef struct ossl_cc_method_st {
*/
uint64_t (*get_bytes_in_flight_max)(OSSL_CC_DATA *ccdata);
/*
* Returns the time at which the CC will next release more budget
* for sending, or ossl_time_infinite().
*/
OSSL_TIME (*get_next_credit_time)(OSSL_CC_DATA *ccdata);
/*
* To be called when a packet with retransmittable data was sent.
* |num_retransmittable_bytes| is the number of bytes sent

View File

@ -56,6 +56,11 @@ static uint64_t dummy_get_bytes_in_flight_max(OSSL_CC_DATA *cc)
return SIZE_MAX;
}
static OSSL_TIME dummy_get_next_credit_time(OSSL_CC_DATA *cc_data)
{
return ossl_time_infinite();
}
static int dummy_on_data_sent(OSSL_CC_DATA *cc,
uint64_t num_retransmittable_bytes)
{
@ -99,6 +104,7 @@ const OSSL_CC_METHOD ossl_cc_dummy_method = {
dummy_can_send,
dummy_get_send_allowance,
dummy_get_bytes_in_flight_max,
dummy_get_next_credit_time,
dummy_on_data_sent,
dummy_on_data_invalidated,
dummy_on_data_acked,