Cleanup namespace and api.

This commit is contained in:
2026-08-04 23:41:31 +01:00
parent 1f57c40eef
commit 5722731c6a
8 changed files with 63 additions and 50 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ struct OriginalBuffer : Buffer {
uint64_t len;
int fd = -1;
OriginalBuffer();
OriginalBuffer(std::filesystem::path base_dir);
~OriginalBuffer();
void initialize();
+11 -10
View File
@@ -24,6 +24,17 @@ struct Shard {
static void retain(Shard *n);
static void release(Shard *n);
static Shard *from_file(std::filesystem::path path, OriginalBuffer *b);
static std::vector<Shard *> from_swap(std::filesystem::path path, OriginalBuffer *b);
static Shard *new_empty(OriginalBuffer *b);
static std::pair<Shard *, Shard *> split(Shard *n, uint64_t offset);
static Shard *concat(Shard *left, Shard *right);
static Shard *merge(Shard *a, Shard *b);
static Shard *merge_leaves(Shard *a, Shard *b);
static Shard *append_leaf(Shard *root, Shard *leaf);
static Shard *build_balanced(Shard **pieces, uint64_t lo, uint64_t hi);
};
struct Branch : Shard {
@@ -52,13 +63,3 @@ struct Petal : Shard {
: Shard(ShardKind::Petal, length, lines, 1),
source(source), pos(pos) {};
};
Shard *create_file_shards(std::string &path, OriginalBuffer *b);
Shard *create_swap_shards(std::string &path, OriginalBuffer *b);
std::pair<Shard *, Shard *> split_shard(Shard *n, uint64_t offset);
Shard *concat_shard(Shard *left, Shard *right);
Shard *merge(Shard *a, Shard *b);
Shard *merge_leaves(Shard *a, Shard *b);
Shard *append_leaf(Shard *root, Shard *leaf);
Shard *build_balanced(Shard **pieces, uint64_t lo, uint64_t hi);
+5 -3
View File
@@ -44,8 +44,10 @@ struct Vase {
OriginalBuffer *original;
AppendBuffer *append;
Shard *root;
std::filesystem::path path;
std::filesystem::path swapdir;
Vase(std::string path);
Vase(std::filesystem::path path, std::filesystem::path swapdir);
~Vase();
@@ -82,8 +84,8 @@ struct Vase {
void snapshot();
void prune_history(uint64_t n);
bool save(std::string path);
bool save_swap(std::string path);
bool save();
bool save_swap();
uint64_t offset_of(Point point);
Point point_of(uint64_t offset);