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
impl FileVisit
Sourcepub fn pending_links(&self) -> (&Cid, impl Iterator<Item = &Cid>)
pub fn pending_links(&self) -> (&Cid, impl Iterator<Item = &Cid>)
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.
Sourcepub fn continue_walk<'a>(
self,
next: &'a [u8],
cache: &mut Option<Cache>,
) -> Result<(&'a [u8], Option<Self>), FileReadFailed>
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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FileVisit
impl RefUnwindSafe for FileVisit
impl Send for FileVisit
impl Sync for FileVisit
impl Unpin for FileVisit
impl UnwindSafe for FileVisit
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more