Files
utun2/src/dm/dm_schema.h
T

17 lines
1.2 KiB
C

/* dm_schema — атомарное создание/обновление локальной схемы личных бесед.
* Сохраняет историю, счётчики, точные тела outbox и отпечатки удалённых сообщений.
* Изменения выполняются внутри savepoint в uasync-потоке; ошибка откатывает схему. */
#ifndef UTUN_DM_SCHEMA_H
#define UTUN_DM_SCHEMA_H
#include <stdint.h>
struct UTUN_INSTANCE;
/* 0/-1: создать схему и перенести существующие DEVICE-записи без переподписи. */
int dm_schema_init(struct UTUN_INSTANCE* inst);
/* 0/-1: прочитать следующий seq автора. Резервирование выполняет take в той же
* транзакции, что запись сообщения; до commit тело нельзя передавать в сеть. */
int dm_sequence_next(struct UTUN_INSTANCE* inst, uint64_t* seq);
/* 0/-1: увеличить счётчик с seq-1 до seq. Вызывать внутри транзакции отправки. */
int dm_sequence_take(struct UTUN_INSTANCE* inst, uint64_t seq);
#endif