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>
where Arc<S>: Freeze,

§

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

§

impl<S> Send for TreeBuilder<S>
where Arc<S>: Send,

§

impl<S> Sync for TreeBuilder<S>
where Arc<S>: Sync,

§

impl<S> Unpin for TreeBuilder<S>
where Arc<S>: Unpin,

§

impl<S> UnsafeUnpin for TreeBuilder<S>
where Arc<S>: UnsafeUnpin,

§

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

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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