From 4c9a32d86543604b887e7e2a69a3477e7035c43a Mon Sep 17 00:00:00 2001 From: evgeny Date: Fri, 23 Oct 2026 10:40:48 +0200 Subject: [PATCH] Observe peer-window recovery after the deferred queue resume --- tests/test_etcp_windows.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/test_etcp_windows.c b/tests/test_etcp_windows.c index 65f90f4d..c970ab4d 100644 --- a/tests/test_etcp_windows.c +++ b/tests/test_etcp_windows.c @@ -590,7 +590,12 @@ static void peer_window_queries(void) { CHECK(queue_data_put(conn->input_queue, &fragment->ll) == 0 && conn->ack_window_timer); wait_sends(1); CHECK(last_sent_request && !last_sent_payload && last_sent_link); receive_till(last_sent_link, MAX_INFLIGHT_SIZE, 0); - CHECK(!conn->ack_window_timer && !conn->input_queue->count && conn->input_send_q->count == 1); + uasync_drain_immediate(ua); // queue_resume_callback выполняется через call_soon + DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "Peer window reply: next=%u till=%u query_timer=%d input=%d send=%d callback_pending=%d", + conn->next_tx_id, conn->rx_ack_till, !!conn->ack_window_timer, conn->input_queue->count, + conn->input_send_q->count, !!conn->input_queue->callback_suspended); + CHECK(!conn->ack_window_timer && !conn->input_queue->count && conn->unacked_bytes == 1); + CHECK(conn->input_send_q->count + conn->input_wait_ack->count == 1); teardown(); }