Record unique acknowledged packets at the instance transport boundary

This commit is contained in:
evgeny committed 2026-10-14 01:06:56 +02:00
1 parent ac89601fc5
commit b6652c7c7f
3 files changed
+5

No files matched your search

+2
View File
@@ -64,6 +64,8 @@ utun_CORE_SOURCES = \
tun_freebsd.c \
tun_windows.c \
transport_layer/etcp.c \
transport_layer/etcp_tx_stats.c \
transport_layer/etcp_tx_stats.h \
transport_layer/etcp_padding.c \
transport_layer/etcp_padding.h \
transport_layer/etcp_session.c \
+1
View File
@@ -1549,6 +1549,7 @@ void etcp_ack_recv(struct ETCP_CONN* etcp, uint32_t seq, uint16_t ts, uint16_t d
DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "packet seq=%u not found in wait_ack queue", seq);
return;
}
etcp_tx_record_ack(&etcp->instance->tx_history, get_time_us(), acked_pkt->ll.len);
// === subtract inflight from the LAST link the packet was sent on ===
if (acked_pkt->last_link && acked_pkt->last_link->bbr) {
+2
View File
@@ -20,6 +20,7 @@ extern "C" {
#include "etcp_padding.h"
#include "reality_io.h"
#include "etcp_api.h"
#include "transport_layer/etcp_tx_stats.h"
#include "config_parser.h"
#include "stcp_link.h"
#include "firewall.h"
@@ -122,6 +123,7 @@ struct peer_sleep_cbk_entry {
// Состояние одного узла. Вложенные модули освобождаются через их lifecycle API.
struct UTUN_INSTANCE {
struct etcp_tx_history tx_history;
struct reality_owner reality_owner;
uint8_t core_started, utun_started, chat_started; // успешный запуск ядра / UTUN / чата