aboutsummaryrefslogtreecommitdiffstats
path: root/core/module-list.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-28 11:12:37 +0100
committereunhhu <[email protected]>2026-09-28 11:12:37 +0100
commit3c8cc4e887c861c392223a54fd5be2b49db29874 (patch)
treefccb4588cf17b2adaa0fa5ff9e20e716c8489ac7 /core/module-list.h
parent4c4c73c30a0524cf893d813fda215199150a6934 (diff)
downloadpure-3c8cc4e887c861c392223a54fd5be2b49db29874.tar.gz
pure-3c8cc4e887c861c392223a54fd5be2b49db29874.zip
Write list images a chunk at a time, and keep the log within the lists' size
Diffstat (limited to 'core/module-list.h')
-rw-r--r--core/module-list.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/module-list.h b/core/module-list.h
index ec7ee10..faacf4b 100644
--- a/core/module-list.h
+++ b/core/module-list.h
@@ -96,6 +96,10 @@ PureResult pure_list_sorted(const PureList *, unsigned field, PureList **out, si
* pure_list_encode writes them to out. */
size_t pure_list_size(const PureList *);
void pure_list_encode(const PureList *, unsigned char *out);
+/* The items from position *at on, as many whole ones as capacity holds,
+ * into out: their bytes (0 at the end, or with *needed the bytes of the one
+ * item that does not fit), *at moved past them. */
+size_t pure_list_encode_part(const PureList *, size_t *at, unsigned char *out, size_t capacity, size_t *needed);
/* Append the items stored in bytes; each field is checked. */
PureResult pure_list_read(PureList *, const unsigned char *bytes, size_t size);
/* A stored list journals its changes (from pure_list_journal(list, true)