topo_group: асимметричный старт BGP (JOIN_GROUP) + вынос group_id/flags из TOPO_NODE
- UTUN: BGP инициирует только сторона-клиент ([client]) и явные etcp_connect; сервер добавляет пира по JOIN_GROUP (фикс обратного маршрута: сервер не создавал узел клиента из-за дедупа senders_list) - topo_group_new_conn: conn_add_path до дедупа; handle_request_table без add_to_senders - TOPO_NODE: убраны group_id/flags (shared-реестр), передаются в topo_node_serialize - routing/control_server: явный TOPO_GROUP_UTUN - CHAT: гейт по peers_* (get_member_channels) + пассивное add/remove в member_sync - tests: тесты адаптированы (route_ping ждёт registry+v4_addrs) - chatgui-android: voice_recorder_init в utun_bridge_voice_start (idempotent)
This commit is contained in:
1 parent
7b73d99b5b
commit
656da48e35
20 files changed
+236
-46
No files matched your search
@@ -37,7 +37,7 @@ topo_group_update_my_nodeinfo(instance, group);
|
||||
```c
|
||||
struct TOPO_NODE* ni = topo_node_registry_find(groups, nq->node_id);
|
||||
uint8_t buf[4096];
|
||||
int len = topo_node_serialize(ni, nq, buf, sizeof(buf), cumulative_rtt);
|
||||
int len = topo_node_serialize(ni, nq, group_id, flags, buf, sizeof(buf), cumulative_rtt);
|
||||
```
|
||||
Запаковывает `TOPO_NODE` + per-group данные (`TOPO_GROUP_NODE`) в буфер: заголовок
|
||||
`TOPOMSG_NODE`, затем имя узла, v4/v6 sock_meta, v4/v6 адреса, подсети (если
|
||||
@@ -143,7 +143,7 @@ topo_node_format_all(group, buf, size); // в строку
|
||||
|
||||
**Сериализация:**
|
||||
- `topo_node_dyn_size(msg)` — размер динамической части по счётчикам заголовка.
|
||||
- `topo_node_serialize(ni, nq, out, out_max, cumulative_rtt)` — сериализовать `TOPO_NODE` + per-group в буфер.
|
||||
- `topo_node_serialize(ni, nq, group_id, flags, out, out_max, cumulative_rtt)` — сериализовать `TOPO_NODE` + per-group в буфер.
|
||||
- `topo_node_deserialize(group, data, len, &out_ni, &out_subnets, &out_hop_list, &out_hop_count, &out_cumulative_rtt)` — восстановить из wire-формата.
|
||||
|
||||
**Пути:**
|
||||
|
||||
Reference in new issue
Block a user