Commit Graph

9 Commits

Author SHA1 Message Date
Jack Grigg 020a7d76d7 shardtree: Use `Tree` constructors instead of struct creation
This makes it easier for us to track where new tree nodes are created,
and how the node kinds are used within the `ShardTree` data model.
2024-06-26 14:08:25 +00:00
Kris Nuttycombe 9359c8d1b8 shardtree: Add `root_at_checkpoint_id` methods.
It can be useful to refer to a specific checkpoint, rather than just a
checkpoint depth, for which one wishes to compute the root.
2023-11-07 07:44:05 -07:00
Jack Grigg 06199d6f45 shardtree: Improve documentation 2023-07-25 17:19:38 +00:00
Jack Grigg 0a6964ad05 shardtree: Move `ShardStore`-related types into module 2023-07-25 15:54:44 +00:00
Jack Grigg 1bd0a7c941 shardtree: Move error types into module 2023-07-25 15:54:44 +00:00
Jack Grigg 8d699c9667 shardtree: Pass checkpoints alongside tree to `ShardTree::insert_tree`
There are no `ShardTree` APIs that allow for checkpointing at arbitrary
positions, which makes sense as the relevant leaf may have been pruned.
For this API to be a viable substitute for `ShardTree::batch_insert`, it
therefore needs to support marking any checkpoints associated with the
inserted tree.
2023-07-25 13:50:27 +00:00
Jack Grigg 8a62290ffe shardtree: Add tests comparing `insert_tree` to `batch_insert` 2023-07-24 17:22:28 +00:00
Jack Grigg 5b4dce85ca shardtree: Switch from `Rc` to `Arc` to make trees `Send` 2023-07-17 21:02:33 +00:00
Jack Grigg d87a85786c shardtree: Move batch construction methods into a submodule 2023-07-10 17:39:10 +00:00