mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 2.7.3
- [DEBUG] Further dedup next advisory tick messages when reason is the same. - [BUGFIX] Update size of `a` array in TP struct. Fixes (benign) GitHub bug #94. - Use Cubic by default again instead of BBR, as it delivers more consistent performance.
This commit is contained in:
parent
a137764bf2
commit
ff892190dd
4 changed files with 27 additions and 12 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2019-12-18
|
||||||
|
- 2.7.3
|
||||||
|
- [DEBUG] Further dedup next advisory tick messages when reason is
|
||||||
|
the same.
|
||||||
|
- [BUGFIX] Update size of `a` array in TP struct. Fixes (benign)
|
||||||
|
GitHub bug #94.
|
||||||
|
- Use Cubic by default again instead of BBR, as it delivers more
|
||||||
|
consistent performance.
|
||||||
|
|
||||||
2019-12-11
|
2019-12-11
|
||||||
- 2.7.2
|
- 2.7.2
|
||||||
- [BUGFIX] Send controller: update scheduled bytes when DCID length
|
- [BUGFIX] Send controller: update scheduled bytes when DCID length
|
||||||
|
|
|
@ -25,7 +25,7 @@ extern "C" {
|
||||||
|
|
||||||
#define LSQUIC_MAJOR_VERSION 2
|
#define LSQUIC_MAJOR_VERSION 2
|
||||||
#define LSQUIC_MINOR_VERSION 7
|
#define LSQUIC_MINOR_VERSION 7
|
||||||
#define LSQUIC_PATCH_VERSION 2
|
#define LSQUIC_PATCH_VERSION 3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Engine flags:
|
* Engine flags:
|
||||||
|
@ -373,7 +373,7 @@ typedef struct ssl_ctx_st * (*lsquic_lookup_cert_f)(
|
||||||
#define LSQUIC_DF_QL_BITS 1
|
#define LSQUIC_DF_QL_BITS 1
|
||||||
|
|
||||||
/* 1: Cubic; 2: BBR */
|
/* 1: Cubic; 2: BBR */
|
||||||
#define LSQUIC_DF_CC_ALGO 2
|
#define LSQUIC_DF_CC_ALGO 1
|
||||||
|
|
||||||
struct lsquic_engine_settings {
|
struct lsquic_engine_settings {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -253,7 +253,9 @@ struct lsquic_engine
|
||||||
unsigned long n_engine_calls;
|
unsigned long n_engine_calls;
|
||||||
#endif
|
#endif
|
||||||
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
||||||
uintptr_t last_logged_idle_conn;
|
uintptr_t last_logged_conn;
|
||||||
|
unsigned last_logged_ae_why;
|
||||||
|
int last_tick_diff;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2714,7 +2716,7 @@ lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff)
|
||||||
{
|
{
|
||||||
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
||||||
conn = lsquic_mh_peek(&engine->conns_out);
|
conn = lsquic_mh_peek(&engine->conns_out);
|
||||||
engine->last_logged_idle_conn = 0;
|
engine->last_logged_conn = 0;
|
||||||
LSQ_LOGC(L, "next advisory tick is now: went past deadline last time "
|
LSQ_LOGC(L, "next advisory tick is now: went past deadline last time "
|
||||||
"and have %u outgoing connection%.*s (%"CID_FMT" first)",
|
"and have %u outgoing connection%.*s (%"CID_FMT" first)",
|
||||||
lsquic_mh_count(&engine->conns_out),
|
lsquic_mh_count(&engine->conns_out),
|
||||||
|
@ -2728,7 +2730,7 @@ lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff)
|
||||||
if (engine->pr_queue && prq_have_pending(engine->pr_queue))
|
if (engine->pr_queue && prq_have_pending(engine->pr_queue))
|
||||||
{
|
{
|
||||||
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
||||||
engine->last_logged_idle_conn = 0;
|
engine->last_logged_conn = 0;
|
||||||
LSQ_LOG(L, "next advisory tick is now: have pending PRQ elements");
|
LSQ_LOG(L, "next advisory tick is now: have pending PRQ elements");
|
||||||
#endif
|
#endif
|
||||||
*diff = 0;
|
*diff = 0;
|
||||||
|
@ -2739,7 +2741,7 @@ lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff)
|
||||||
{
|
{
|
||||||
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
||||||
conn = lsquic_mh_peek(&engine->conns_tickable);
|
conn = lsquic_mh_peek(&engine->conns_tickable);
|
||||||
engine->last_logged_idle_conn = 0;
|
engine->last_logged_conn = 0;
|
||||||
LSQ_LOGC(L, "next advisory tick is now: have %u tickable "
|
LSQ_LOGC(L, "next advisory tick is now: have %u tickable "
|
||||||
"connection%.*s (%"CID_FMT" first)",
|
"connection%.*s (%"CID_FMT" first)",
|
||||||
lsquic_mh_count(&engine->conns_tickable),
|
lsquic_mh_count(&engine->conns_tickable),
|
||||||
|
@ -2778,15 +2780,19 @@ lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff)
|
||||||
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
#if LSQUIC_DEBUG_NEXT_ADV_TICK
|
||||||
if (next_attq)
|
if (next_attq)
|
||||||
{
|
{
|
||||||
/* Deduplicate consecutive log messages about IDLE timer for the
|
/* Deduplicate consecutive log messages about the same reason for the
|
||||||
* same connection.
|
* same connection.
|
||||||
|
* If diff is always zero or diff reset to a higher value, event is
|
||||||
|
* still logged.
|
||||||
*/
|
*/
|
||||||
if (!((unsigned) next_attq->ae_why == (unsigned) (N_AEWS + AL_IDLE)
|
if (!((unsigned) next_attq->ae_why == engine->last_logged_ae_why
|
||||||
&& (uintptr_t) next_attq->ae_conn
|
&& (uintptr_t) next_attq->ae_conn
|
||||||
== engine->last_logged_idle_conn))
|
== engine->last_logged_conn
|
||||||
|
&& *diff < engine->last_tick_diff))
|
||||||
{
|
{
|
||||||
if ((unsigned) next_attq->ae_why == (unsigned) (N_AEWS + AL_IDLE))
|
engine->last_logged_conn = (uintptr_t) next_attq->ae_conn;
|
||||||
engine->last_logged_idle_conn = (uintptr_t) next_attq->ae_conn;
|
engine->last_logged_ae_why = (unsigned) next_attq->ae_why;
|
||||||
|
engine->last_tick_diff = *diff;
|
||||||
LSQ_LOGC(L, "next advisory tick is %d usec away: conn %"CID_FMT
|
LSQ_LOGC(L, "next advisory tick is %d usec away: conn %"CID_FMT
|
||||||
": %s", *diff, CID_BITS(lsquic_conn_log_cid(next_attq->ae_conn)),
|
": %s", *diff, CID_BITS(lsquic_conn_log_cid(next_attq->ae_conn)),
|
||||||
lsquic_attq_why2str(next_attq->ae_why));
|
lsquic_attq_why2str(next_attq->ae_why));
|
||||||
|
|
|
@ -79,7 +79,7 @@ struct transport_params
|
||||||
uint64_t max_ack_delay;
|
uint64_t max_ack_delay;
|
||||||
uint64_t active_connection_id_limit;
|
uint64_t active_connection_id_limit;
|
||||||
} s;
|
} s;
|
||||||
uint64_t a[10];
|
uint64_t a[11];
|
||||||
} tp_numerics_u;
|
} tp_numerics_u;
|
||||||
#define tp_init_max_stream_data_bidi_local tp_numerics_u.s.init_max_stream_data_bidi_local
|
#define tp_init_max_stream_data_bidi_local tp_numerics_u.s.init_max_stream_data_bidi_local
|
||||||
#define tp_init_max_stream_data_bidi_remote tp_numerics_u.s.init_max_stream_data_bidi_remote
|
#define tp_init_max_stream_data_bidi_remote tp_numerics_u.s.init_max_stream_data_bidi_remote
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue