pub struct PostOrderMemOutboard<T = Vec<u8>> {
pub root: Hash,
pub tree: BaoTree,
pub data: T,
}
Expand description
A post order outboard that is optimized for memory storage.
The PostOrderOutboard will work just fine using e.g. a Vec<u8>
as storage.
However, it will not work for types such as bytes::Bytes or bytes::BytesMut
that do not implement the io traits.
The traits are implemented for fixed size slices or mutable slices, so unlike the PostOrderOutboard, you must make sure that the data is already the right size.
Fields§
§root: Hash
root hash
tree: BaoTree
tree defining the data
data: T
hashes without length suffix
Implementations§
Source§impl PostOrderMemOutboard
impl PostOrderMemOutboard
Sourcepub fn create(data: impl AsRef<[u8]>, block_size: BlockSize) -> Self
pub fn create(data: impl AsRef<[u8]>, block_size: BlockSize) -> Self
Create a new outboard from data
and a block_size
.
This will hash the data and create an outboard.
It is just a shortcut that calls crate::io::sync::outboard_post_order.
Sourcepub fn into_inner_with_suffix(self) -> Vec<u8> ⓘ
pub fn into_inner_with_suffix(self) -> Vec<u8> ⓘ
returns the outboard data, with the length suffix.
Source§impl<T> PostOrderMemOutboard<T>
impl<T> PostOrderMemOutboard<T>
Trait Implementations§
Source§impl<T: Clone> Clone for PostOrderMemOutboard<T>
impl<T: Clone> Clone for PostOrderMemOutboard<T>
Source§fn clone(&self) -> PostOrderMemOutboard<T>
fn clone(&self) -> PostOrderMemOutboard<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: Debug> Debug for PostOrderMemOutboard<T>
impl<T: Debug> Debug for PostOrderMemOutboard<T>
Source§impl<T: Default> Default for PostOrderMemOutboard<T>
impl<T: Default> Default for PostOrderMemOutboard<T>
Source§impl<T: AsMut<[u8]>> OutboardMut for PostOrderMemOutboard<T>
impl<T: AsMut<[u8]>> OutboardMut for PostOrderMemOutboard<T>
Source§impl<T: AsMut<[u8]>> OutboardMut for PostOrderMemOutboard<T>
impl<T: AsMut<[u8]>> OutboardMut for PostOrderMemOutboard<T>
Source§impl<T: PartialEq> PartialEq for PostOrderMemOutboard<T>
impl<T: PartialEq> PartialEq for PostOrderMemOutboard<T>
impl<T: Eq> Eq for PostOrderMemOutboard<T>
impl<T> StructuralPartialEq for PostOrderMemOutboard<T>
Auto Trait Implementations§
impl<T> Freeze for PostOrderMemOutboard<T>where
T: Freeze,
impl<T> RefUnwindSafe for PostOrderMemOutboard<T>where
T: RefUnwindSafe,
impl<T> Send for PostOrderMemOutboard<T>where
T: Send,
impl<T> Sync for PostOrderMemOutboard<T>where
T: Sync,
impl<T> Unpin for PostOrderMemOutboard<T>where
T: Unpin,
impl<T> UnwindSafe for PostOrderMemOutboard<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more