Skip to main content

DigestedChunkMap

Struct DigestedChunkMap 

Source
pub struct DigestedChunkMap { /* private fields */ }
Expand description

An implementation of ChunkMap to support chunk state tracking by using HashSet<RafsDigest>.

The DigestedChunkMap is an implementation of ChunkMap which uses a hash set (HashSet<chunk_digest>) to record whether a chunk has already been cached by the blob cache. The implementation is memory and computation heavy, so it is used only to keep backward compatibility with the previous old nydus bootstrap format. For new clients, please use other alternative implementations.

Implementations§

Source§

impl DigestedChunkMap

Source

pub fn new() -> Self

Create a new instance of DigestedChunkMap.

Trait Implementations§

Source§

impl ChunkIndexGetter for DigestedChunkMap

Source§

type Index = RafsDigest

Type of index needed by ChunkMap.
Source§

fn get_index(chunk: &dyn BlobChunkInfo) -> Self::Index

Get the chunk’s id/key for state tracking.
Source§

impl ChunkMap for DigestedChunkMap

Source§

fn is_ready(&self, chunk: &dyn BlobChunkInfo) -> Result<bool>

Check whether the chunk is ready for use.
Source§

fn set_ready_and_clear_pending(&self, chunk: &dyn BlobChunkInfo) -> Result<()>

Set the chunk to ready for use and clear the pending state.
Source§

fn is_pending(&self, _chunk: &dyn BlobChunkInfo) -> Result<bool>

Check whether the chunk is pending for downloading.
Source§

fn is_ready_or_pending(&self, chunk: &dyn BlobChunkInfo) -> Result<bool>

Check whether a chunk is ready for use or pending for downloading.
Source§

fn check_ready_and_mark_pending( &self, _chunk: &dyn BlobChunkInfo, ) -> StorageResult<bool>

Check whether the chunk is ready for use, and mark it as pending if not ready yet. Read more
Source§

fn clear_pending(&self, _chunk: &dyn BlobChunkInfo)

Clear the pending state of the chunk.
Source§

fn is_persist(&self) -> bool

Check whether the implementation supports state persistence.
Source§

fn as_range_map(&self) -> Option<&dyn RangeMap<I = u32>>

Convert the objet to an RangeMap object.
Source§

impl Default for DigestedChunkMap

Source§

fn default() -> DigestedChunkMap

Returns the “default value” for a type. 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more