From 7c840c8cfd2fd468bd0ea9e80216dc89eda82bd8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 10 Jun 2026 01:01:32 +0300 Subject: [PATCH] inflight fix --- src/etcp.c | 2 +- src/etcp_connections.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/etcp.c b/src/etcp.c index 7acadd93..a0dc958c 100644 --- a/src/etcp.c +++ b/src/etcp.c @@ -616,7 +616,7 @@ void etcp_conn_on_inflight_lim_changed(struct ETCP_CONN* etcp) { uint32_t sum = 0; for (struct ETCP_LINK* tl = etcp->links; tl; tl = tl->next) sum += tl->inflight_lim_bytes; etcp->optimal_inflight = sum; - input_queue_try_resume(etcp); +// input_queue_try_resume(etcp); } void etcp_stats(struct ETCP_CONN* etcp) { diff --git a/src/etcp_connections.c b/src/etcp_connections.c index b19e0bc7..2d52705f 100644 --- a/src/etcp_connections.c +++ b/src/etcp_connections.c @@ -852,13 +852,13 @@ void etcp_link_update_inflight_lim(struct ETCP_LINK* link, uint32_t new_lim) { uint32_t old = link->inflight_lim_bytes; link->inflight_lim_bytes = new_lim; - if (old != new_lim && link->inflight_bytes < new_lim && link->send_blocked_inflight) { + if (link->inflight_bytes < new_lim && link->send_blocked_inflight) {// разблокируем линк + DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] unblocking link %p (inflight_lim %u -> %u)", link->etcp->log_name, link, old, new_lim); + etcp_conn_on_inflight_lim_changed(link->etcp);// сперва обновим inflight в etcp link->send_blocked_inflight = 0; - loadbalancer_link_ready(link); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[%s] unblocked link %p (inflight_lim %u -> %u)", link->etcp->log_name, link, old, new_lim); - } + if (!link->shaper_timer) loadbalancer_link_ready(link);// потом вызовем ready -> разблок + } else etcp_conn_on_inflight_lim_changed(link->etcp);// - etcp_conn_on_inflight_lim_changed(link->etcp); } void etcp_link_close(struct ETCP_LINK* link) {