topo_recovery: каскадное восстановление узлов с группировкой по next_hop
При разрыве ETCP-соединения модуль собирает каскадно отвалившиеся узлы: - add_node из hop_list вычисляет next_hop относительно failed_peer, группирует узлы в отдельные recovery-контексты (direct/indirect списки) - start запускает асинхронный перебор для каждой группы параллельно - is_next_hop-узел пробуется первым с приоритетом по мин. RTT - таймаут 2с на попытку, conn_mgr_cancel_callback при отмене - отмена: topo_group_new_conn (on_up) находит узел в любом ctx -> ctx целиком - завершение: оба списка пусты -> освобождение ctx
This commit is contained in:
1 parent
f6b37a857b
commit
4215349349
8 files changed
+416
-3
No files matched your search
@@ -66,6 +66,7 @@ set(UTUN_COMMON_SOURCES
|
||||
${SRC_DIR}/routing_layer/route_connectivity.c
|
||||
${SRC_DIR}/db_sync.c
|
||||
${SRC_DIR}/routing_layer/conn_mgr.c
|
||||
${SRC_DIR}/routing_layer/topo_recovery.c
|
||||
${TRANSPORT_DIR}/chat_sync.c
|
||||
${TRANSPORT_DIR}/merkle_sync.c
|
||||
${TRANSPORT_DIR}/member_sync.c
|
||||
|
||||
Reference in new issue
Block a user