pub struct FileVisit { /* private fields */ }
Expand description

FileVisit represents an ongoing visitation over an UnixFs File tree.

The file visitor does not implement size validation of merkledag links at the moment. This could be implmented with generational storage and it would require an u64 per link.

Note: For easier to use interface, you should consider using ipfs_unixfs::walk::Walker. It uses IdleFileVisit and FileVisit internally but has a better API.

Implementations§

source§

impl FileVisit

Access hashes of all pending links for prefetching purposes. The block for the first item returned by this method is the one which needs to be processed next with continue_walk.

Returns tuple of the next Cid which needs to be processed and an iterator over the remaining.

source

pub fn continue_walk<'a>( self, next: &'a [u8], cache: &mut Option<Cache> ) -> Result<(&'a [u8], Option<Self>), FileReadFailed>

Continues the walk with the data for the first pending_link key.

Returns on success a tuple of bytes and new version of FileVisit to continue the visit, when there is something more to visit.

source

pub fn file_size(&self) -> u64

Returns the total size of the file in bytes.

Trait Implementations§

source§

impl AsRef<Metadata> for FileVisit

source§

fn as_ref(&self) -> &Metadata

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for FileVisit

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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.

§

impl<T> References<RawCodec> for T

§

fn references<R, E>(_c: RawCodec, _r: &mut R, _set: &mut E) -> Result<(), Error>
where R: Read, E: Extend<Cid<64>>,

Scrape the references from an impl Read. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.