Specify reload behavior for repeated server sections in public header

This commit is contained in:
evgeny committed 2026-10-26 09:08:42 +01:00
1 parent 85e87cc9f8
commit 4219d5ce1d
1 file changed
+3 -2
+3 -2
View File
@@ -306,7 +306,7 @@ struct UTUN_INSTANCE {
struct UTUN_INSTANCE* utun_instance_create(struct UASYNC* ua, const char* config_file);
/* Как create, но без updater и файлового parse: config должен содержать корректные ключи.
* Успех передаёт владение config ядру; при NULL config остаётся caller (node_id мог быть исправлен).
* log_file и debug меняют общий logger процесса даже при последующем отказе создания. */
* debug меняет общий logger процесса даже при отказе; log_file выбирается только до открытия файлового logger. */
struct UTUN_INSTANCE* utun_instance_create_from_config(struct UASYNC* ua, struct utun_config* config);
/* Как create из ASCIIZ config_text; строка заимствована лишь на вызов. Использует mkstemp в /tmp,
* updater и файловый parse, затем unlink. Нужна доступная ФС; ошибки дают NULL. */
@@ -329,7 +329,8 @@ void utun_service_stop(struct UTUN_INSTANCE* instance);
int utun_instance_init(struct UTUN_INSTANCE *instance);
/* Перечитать config_file через updater; ua должен совпадать с instance->ua. Всегда использовать результат.
* Ошибка подготовки сохраняет прежний указатель. Смена негорячих global/подсетей либо automatic servers
* пересоздаёт ядро с прежними core/UTUN/chat/running; ошибка после destroy возвращает NULL.
* пересоздаёт ядро с прежними core/UTUN/chat/running; повторные server-имена также требуют restart.
* Ошибка после destroy возвращает NULL.
* Ручные endpoints обновляются по имени и всем параметрам, неизменённые сохраняются (включая port=0).
* Частичный reload не транзакционный: отказ endpoint логируется, новый config сохраняется для следующего retry. */
struct UTUN_INSTANCE *utun_instance_reload(struct UTUN_INSTANCE *instance, struct UASYNC *ua, const char *config_file);