|
|
|
|
@ -590,6 +590,10 @@ Stop/destroy выполняются по правилам ядра, вне callb
|
|
|
|
|
Режимы не смешиваются; внешний receive/probe/restart не может вмешаться в автоматическое владение handles. |
|
|
|
|
INFO-only probe не резервирует SUBSCRIBE handle и не передаёт DATA; одним NCD-владением последовательно опрашивает субпотоки. |
|
|
|
|
Общий stream_peer переиспользует NCD между группами/источниками; CLOSED handle переоткрывается перед новой попыткой. |
|
|
|
|
INFO_REQ запрашивает неизвестную receiver_epoch=0; INFO_RESP подтверждается nonce текущей пробы и собственной эпохой. |
|
|
|
|
Локальный DOWN/REINIT вращает own epoch. При обнаружении новой чужой эпохи own сохраняется, |
|
|
|
|
старые согласованные выдачи отменяются, а незавершённые INFO получают новый nonce: взаимного вращения эпох нет. |
|
|
|
|
Тест односторонней смены поколения подтвердил восстановление без разрыва ETCP и без смены эпохи другой стороны. |
|
|
|
|
Совместимость проверяется в NCD без создания линков: общий исходящий обход IPv4/IPv6/TCP, |
|
|
|
|
возможность reverse по публикуемым адресам и sock_match; фактическую достижимость подтверждает ограниченная проба. |
|
|
|
|
Стартовая серия — до 32 узлов; далее 1 новый узел/с. Посещённые узлы не повторяются в цикле, |
|
|
|
|
|