Skip to main content

TreeBuilder

Struct TreeBuilder 

Source
pub struct TreeBuilder<S: Store> { /* private fields */ }
Expand description

TreeBuilder - builds content-addressed merkle trees

Implementations§

Source§

impl<S: Store> TreeBuilder<S>

Source

pub fn new(config: BuilderConfig<S>) -> Self

Source

pub fn is_encrypted(&self) -> bool

Check if encryption is enabled

Source

pub async fn put_blob(&self, data: &[u8]) -> Result<Hash, BuilderError>

Store a blob directly (small data, no encryption) Returns the content hash

Source

pub async fn put(&self, data: &[u8]) -> Result<(Cid, u64), BuilderError>

Store a file, chunking if necessary Returns (Cid, size) where Cid contains hash and optional encryption key

When encryption is enabled (default), each chunk is CHK encrypted and the result contains the decryption key.

Source

pub async fn put_directory( &self, entries: Vec<DirEntry>, ) -> Result<Hash, BuilderError>

Build a directory from entries Entries can be files or subdirectories

Source

pub async fn put_tree_node( &self, links: Vec<Link>, ) -> Result<Hash, BuilderError>

Create a tree node

Auto Trait Implementations§

§

impl<S> Freeze for TreeBuilder<S>

§

impl<S> RefUnwindSafe for TreeBuilder<S>
where S: RefUnwindSafe,

§

impl<S> Send for TreeBuilder<S>

§

impl<S> Sync for TreeBuilder<S>

§

impl<S> Unpin for TreeBuilder<S>

§

impl<S> UnwindSafe for TreeBuilder<S>
where S: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V