diff --git a/src/transport_layer/dummynet.h b/src/transport_layer/dummynet.h index dc9972e9..12183fc5 100644 --- a/src/transport_layer/dummynet.h +++ b/src/transport_layer/dummynet.h @@ -66,7 +66,7 @@ struct dummynet_stats { uint64_t recv; // FULL: пакеты распознанного направления, включая слишком большие; INLINE: вызовы hook uint64_t sent; // Отправлено пакетов uint64_t dropped; // Слишком большой пакет, переполнение очереди, отказ выделения/таймера или ошибка отправки - uint64_t lost; // Случайные потери и DROP + uint64_t lost; // Случайные потери; FULL: DROP, INLINE: блокировки адреса uint64_t recv_bytes; // Принято UDP-байт, без IP/UDP заголовков uint64_t sent_bytes; // Передано UDP-байт, без IP/UDP заголовков; пустой пакет увеличивает sent, но не sent_bytes uint64_t blocked; // FULL: режим DROP; INLINE: блокировка IP:порта; включены в lost diff --git a/src/transport_layer/dummynet_doc.md b/src/transport_layer/dummynet_doc.md index f068d70b..a463d5a9 100644 --- a/src/transport_layer/dummynet_doc.md +++ b/src/transport_layer/dummynet_doc.md @@ -57,7 +57,8 @@ SOCKS5 имеет приоритет перед send_hook в общем пути ### Статистика `recv`/`sent` — число пакетов, `recv_bytes`/`sent_bytes` — UDP-байты без IP/UDP заголовков. -`dropped` — переполнение/ошибка ресурсов или отправки, `lost` — случайные потери и DROP, `blocked` — только DROP. +`dropped` — неверный размер/переполнение/ошибка ресурсов или отправки; `lost` — случайные потери и блокировки. +`blocked` — DROP у FULL или блокировка адреса у INLINE; входит в lost. `queue_size`/`queue_max` учитывают все ожидающие пакеты, включая delay/HOLD. Сброс статистики сохраняет текущий размер очереди. Дополнительные отладочные счётчики: `delay_timer_set/fire`, `shaper_timer_set/fire`. FULL учитывает в recv/recv_bytes также целиком прочитанные слишком большие датаграммы и относит их к dropped.