Build and document direct connections through NCD
This commit is contained in:
1 parent
fc5b3911f3
commit
036cf43918
3 files changed
+4
-11
No files matched your search
@@ -99,7 +99,6 @@ utun_CORE_SOURCES = \
|
||||
transport_layer/pkt_normalizer.c \
|
||||
transport_layer/packet_dump.c \
|
||||
transport_layer/etcp_api.c \
|
||||
transport_layer/etcp_connect.c \
|
||||
transport_layer/node_conn_direct.c \
|
||||
transport_layer/socket_monitor.c \
|
||||
transport_layer/auto_socket.c \
|
||||
@@ -286,7 +285,6 @@ libutun_a_SOURCES = \
|
||||
transport_layer/pkt_normalizer.c \
|
||||
transport_layer/packet_dump.c \
|
||||
transport_layer/etcp_api.c \
|
||||
transport_layer/etcp_connect.c \
|
||||
transport_layer/node_conn_direct.c \
|
||||
transport_layer/socket_monitor.c \
|
||||
transport_layer/auto_socket.c \
|
||||
|
||||
@@ -63,14 +63,11 @@ etcp_set_new_conn_cbk(instance, on_new_conn, my_data);
|
||||
Значения уникальны внутри каждой таблицы; совпадения между двумя таблицами допустимы.
|
||||
Проверка реестра и регистраций выполняется автоматически при `make check`.
|
||||
|
||||
### Фоновые соединения (etcp_connect)
|
||||
### Прямые соединения
|
||||
|
||||
```c
|
||||
etcp_connect(instance, node, on_connect, arg,
|
||||
ETCP_CONNECT_EARLY | ETCP_CONNECT_LATE);
|
||||
```
|
||||
|
||||
Флаги: `ETCP_CONNECT_EARLY` — раннее подключение, `ETCP_CONNECT_LATE` — отложенное.
|
||||
Владелец открывает handle через `node_conn_direct_open/open_node`, ждёт `NCD_EVENT_UP`
|
||||
и получает транспорт через `node_conn_direct_get_conn`. Handle удерживается на всё
|
||||
время использования; его закрытие не отменяет владение других сервисов. Контракт — в `node_conn_direct.h`.
|
||||
|
||||
## 3. API
|
||||
|
||||
@@ -104,7 +101,6 @@ etcp_connect(instance, node, on_connect, arg,
|
||||
| `etcp_conn_add_down_cbk/remove_down_cbk` | Аналогично для down |
|
||||
| `etcp_set_new_conn_cbk(inst, fn, arg)` | Установить коллбэк на входящее соединение |
|
||||
| `etcp_add_new_conn_cbk/remove_new_conn_cbk` | Добавить/убрать из цепочки new_conn |
|
||||
| `etcp_connect(inst, node, cb, arg, flags)` | Фоновое подключение к узлу |
|
||||
|
||||
### Командные ID (сырые, первый байт кодограммы)
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ inst = utun_instance_reload(inst, ua, "utun.conf");
|
||||
| `conn_mgr` | `struct CONN_MGR*` | Менеджер соединений (может быть NULL) |
|
||||
| `db_sync` | `struct DB_SYNC*` | Распределённая синхронизация БД (может быть NULL) |
|
||||
| `networks` | `struct ll_queue*` | Очередь сетей (NETWORK_ENTRY, индекс по 56-bit id) |
|
||||
| `pending_connects` | `struct ETCP_CONNECT*` | Ожидающие фоновые подключения |
|
||||
| `ntp` / `ntp_node` | `struct NTP_TIME` / `NTP_NODE_TIME` | Синхронизация времени |
|
||||
| `next_socket_id` | `uint8_t` | Счётчик уникальных ID сокетов (0–255) |
|
||||
| `socket_init_status` | `int` | Статус инициализации сокетов: 0=OK, 1=частично, -1=ошибка |
|
||||
|
||||
Reference in new issue
Block a user