27#ifndef DETERMINISTICESPASYNCWEBSERVER_DBM_H
28#define DETERMINISTICESPASYNCWEBSERVER_DBM_H
61bool detws_dbm_open(DetwsDbm *db, WalStore *wal);
68bool detws_dbm_put(DetwsDbm *db,
const char *key, uint16_t key_len,
const uint8_t *val, uint32_t val_len);
74long detws_dbm_get(DetwsDbm *db,
const char *key, uint16_t key_len, uint8_t *buf,
size_t cap);
80bool detws_dbm_del(DetwsDbm *db,
const char *key, uint16_t key_len);
83bool detws_dbm_contains(DetwsDbm *db,
const char *key, uint16_t key_len);
86uint32_t detws_dbm_count(DetwsDbm *db);
89bool detws_dbm_sync(DetwsDbm *db);
93using DetwsDbmIterCb = bool (*)(
const char *key, uint16_t key_len,
void *ctx);
96uint32_t detws_dbm_iterate(DetwsDbm *db, DetwsDbmIterCb cb,
void *ctx);
104uint64_t detws_dbm_live_bytes(DetwsDbm *db);
117bool detws_dbm_compact(DetwsDbm *db, WalStore *dst);
User-facing configuration for DeterministicESPAsyncWebServer.
#define DETWS_DBM_KEY_MAX
Durable write-ahead store: A/B superblock + checkpoint over a block-device seam (DETWS_ENABLE_WAL).