Snapshot delivery and send intervals for per-link BBR rate measurement

This commit is contained in:
evgeny committed 2026-10-23 00:06:30 +02:00
1 parent c2f4f048d7
commit f3008b7aba
2 files changed
+4 -1

No files matched your search

+2
View File
@@ -80,6 +80,8 @@ struct INFLIGHT_PACKET {// выделяется из etcp->inflight_pool
uint8_t state; // WAIT_ACK занимает окно last_link; WAIT_SEND ожидает первую/повторную отправку
uint8_t send_hist[8]; // через какие каналы передавался пакет (NEW). send_count - head ptr
uint64_t delivered_at_send; // link->delivered_bytes на момент отправки (для BBR prior_delivered)
uint64_t delivered_time_at_send_tb; // время последней доставки при отправке; начало ACK-интервала BBR
uint64_t first_tx_at_send_tb; // начало интервала отправок BBR (оба интервала — в 0.1мс)
uint32_t inflight_at_send; // link->inflight_bytes на момент отправки (для BBR tx_in_flight)
uint8_t is_app_limited; // данные ограничены приложением на момент отправки
};
+2 -1
View File
@@ -326,7 +326,8 @@ struct ETCP_LINK {
// === BBR congestion control ===
struct bbr* bbr; // BBR state (per-link, создаётся в etcp_link_new)
uint64_t delivered_bytes; // кумулятивно delivered bytes на линке (для round detection)
uint64_t last_ack_time_tb; // 0.1ms timestamp последнего ACK (для interval_us)
uint64_t last_ack_time_tb; // время последней доставки/начала первого flight, 0.1мс
uint64_t first_tx_time_tb; // начало интервала отправок, продвигается подтверждёнными попытками
uint32_t bbr_pacing_rate; // bytes/sec output BBR → shaper
uint32_t bbr_loss_since_ack; // счётчик потерь на линке с последнего ACK (для rs->lost)