Expand description
The tree for the bao file format
This crate is similar to the bao crate, but takes a slightly different approach.
The core struct is BaoTree, which describes the geometry of the tree and various ways to traverse it. An individual node is identified by TreeNode, which is just a newtype wrapper for an u64.
TreeNode provides various helpers to e.g. get the offset of a node in different traversal orders.
There are various newtypes for the different kinds of integers used in the tree, e.g. ByteNum for number of bytes, ChunkNum for number of chunks.
All this is then used in the io module to implement the actual io, both synchronous and asynchronous.
Re-exports
pub use iroh_blake3 as blake3;
Modules
- Implementation of bao streaming for std io and tokio io
- Iterators over BaoTree nodes
Structs
- Defines a Bao tree.
- A block size.
- A number of bytes.
- A number of blake3 chunks.
- A tree node for which we know that it is a leaf node.
- An u64 that defines a node in a bao tree.
Enums
- An offset of a node in a post-order outboard