From bf7464a4d9ef5afa067190f420d5825358fc9afd Mon Sep 17 00:00:00 2001 From: evgeny Date: Fri, 23 Oct 2026 22:53:58 +0200 Subject: [PATCH] Document connection ownership after a cancelled TCP accept --- src/transport_layer/stcp_link_doc.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/transport_layer/stcp_link_doc.md b/src/transport_layer/stcp_link_doc.md index 55c8aabe..8abd5848 100644 --- a/src/transport_layer/stcp_link_doc.md +++ b/src/transport_layer/stcp_link_doc.md @@ -62,6 +62,8 @@ ETCP закрывает соединение с диагностикой вме Конструкторы ETCP_CONN/ETCP_LINK возвращают NULL, если callback отменил создание. До завершения конструктора линка память остаётся у него: close снимает ресурсы и помечает отмену, после чего конструктор освобождает объект. Входящий STCP при отказе его присоединения закрывается. +Созданный для него ETCP_CONN удаляется только без других линков и NCD-владельцев: +callback мог уже передать соединение другому сервису или создать запасной путь. Instance-подписки можно снимать внутри callbacks: запись сразу отключается, освобождение ждёт выхода из внешней рассылки. Новая подписка не попадает в начатый обход, но доступна вложенному событию. @@ -74,5 +76,8 @@ Instance-подписки можно снимать внутри callbacks: за отсутствие поздних READY, backoff, его сброс после восстановления и отмену повторного подключения. Проверяется баланс сокетов, таймеров и учитываемых выделений памяти. Дополнительно проверяются отмена создания из callbacks и снятие подписки для обеих ролей STCP/REALITY. +Для отмены входящего линка проверяются четыре случая: владелец и другой путь, только владелец, +только другой путь, отсутствие обоих. Используемое соединение сохраняется и доставляет данные в обе стороны, +неиспользуемое удаляется; оба транспорта проверяются с учётом освобождения ресурсов. `test_etcp_lifecycle` проверяет снятие себя/следующей записи, добавление подписки и вложенную рассылку для всех четырёх instance-цепочек ETCP.