Добавлен group_id в etcp_router и topo_group, удалён msg_transport
- etcp_router: SVC_ROUTE_HDR (+8B), ETCP_ROUTER_CONN/TRANSIT_QUEUE хеши расширены под group_id - Все caller'ы (proxy, routing, conn_mgr, nat, chatgui, tests) обновлены - topo_group: глобальный реестр TOPO_NODE по node_id, ref_count=0 при создании - BGP-обмен активируется для всех групп (а не только дефолтной) - Протокол: group_id добавлен в WITHDRAW/TABLE_REQ/TABLE_COMPLETE/ERR_GROUP_MISMATCH - Per-connection коллбэки заменены на instance-level conn_status - msg_transport полностью удалён из проекта 57/57 тестов
This commit is contained in:
1 parent
5265783164
commit
852ce401e7
37 files changed
+375
-1125
No files matched your search
@@ -28,8 +28,7 @@ utun_instance_init(inst); // запускает всю цепочку иниц
|
||||
3. `nat_transport_init` — NAT (если включён в конфиге)
|
||||
4. `init_connections` — ETCP-сокеты, клиентские подключения, handshake
|
||||
5. `control_server_init` — сервер мониторинга (etcpmon)
|
||||
6. `msg_transport_init` — IPC-транспорт сообщений (чат, команды)
|
||||
7. `ntp_time_init` + `ntp_node_time_init` — синхронизация времени
|
||||
6. `ntp_time_init` + `ntp_node_time_init` — синхронизация времени
|
||||
|
||||
### Основной цикл
|
||||
```c
|
||||
@@ -44,7 +43,7 @@ while (inst->running) {
|
||||
utun_instance_stop(inst); // running=0, wakeup
|
||||
utun_instance_destroy(inst); // полный cleanup в обратном порядке
|
||||
```
|
||||
`destroy` гарантирует порядок: NTP→msg_transport→control→ETCP sockets→db_sync→connections→pings→TUN→tcp_proxy→routing→NAT→etcp_router→conn_mgr→BGP→fw→stcp→networks→config→pools. **uasync не уничтожается** — вызывающий код должен сам вызвать `uasync_destroy()`.
|
||||
`destroy` гарантирует порядок: NTP→control→ETCP sockets→db_sync→connections→pings→TUN→tcp_proxy→routing→NAT→etcp_router→conn_mgr→BGP→fw→stcp→networks→config→pools. **uasync не уничтожается** — вызывающий код должен сам вызвать `uasync_destroy()`.
|
||||
|
||||
### Reload (SIGHUP)
|
||||
```c
|
||||
@@ -78,7 +77,6 @@ inst = utun_instance_reload(inst, ua, "utun.conf");
|
||||
| `pkt_pool` | `struct memory_pool*` | Пул для `struct ETCP_DGRAM` |
|
||||
| `ack_pool` | `struct memory_pool*` | Пул для `struct ACK_PACKET` |
|
||||
| `control_srv` | `struct control_server*` | Сервер мониторинга (etcpmon backend) |
|
||||
| `msg_t` | `struct msg_transport*` | IPC-транспорт сообщений |
|
||||
| `fw` | `struct firewall_ctx` | Контекст файрвола |
|
||||
| `nat` / `nat_tr` | `struct eim_nat_ctx` / `nat_transport_ctx` | EIM NAT + транспорт |
|
||||
| `tcp_proxy_client` | `struct tcp_proxy_client*` | TCP-прокси клиент (опционально) |
|
||||
|
||||
Reference in new issue
Block a user