pub struct GlobalCache { /* private fields */ }Expand description
On-disk global cache for OCI layers.
Layout (all flat in cache/layers/, content-addressable by digest):
~/.microsandbox/cache/layers/<digest_safe>.tar.gz # compressed downloads
~/.microsandbox/cache/layers/<digest_safe>.extracted/ # extracted layer trees
~/.microsandbox/cache/layers/<digest_safe>.index # binary sidecar indexes
~/.microsandbox/cache/layers/<digest_safe>.implicit_dirs # pending implicit-dir fixups
~/.microsandbox/cache/layers/<digest_safe>.lock # extraction flock files
~/.microsandbox/cache/layers/<digest_safe>.download.lock # download flock filesImplementations§
Source§impl GlobalCache
impl GlobalCache
Sourcepub fn new(cache_dir: &Path) -> ImageResult<Self>
pub fn new(cache_dir: &Path) -> ImageResult<Self>
Create a new GlobalCache using the provided cache directory.
Creates <cache_dir>/layers/ if it doesn’t exist.
Sourcepub fn layers_dir(&self) -> &Path
pub fn layers_dir(&self) -> &Path
Root layer cache directory.
Sourcepub fn part_path(&self, digest: &Digest) -> PathBuf
pub fn part_path(&self, digest: &Digest) -> PathBuf
Path to the partial download file for a layer.
Sourcepub fn extracted_dir(&self, digest: &Digest) -> PathBuf
pub fn extracted_dir(&self, digest: &Digest) -> PathBuf
Path to the extracted layer directory.
Sourcepub fn extracting_dir(&self, digest: &Digest) -> PathBuf
pub fn extracting_dir(&self, digest: &Digest) -> PathBuf
Path to the in-progress extraction temp directory.
Sourcepub fn index_path(&self, digest: &Digest) -> PathBuf
pub fn index_path(&self, digest: &Digest) -> PathBuf
Path to the binary sidecar index for a layer.
Sourcepub fn implicit_dirs_path(&self, digest: &Digest) -> PathBuf
pub fn implicit_dirs_path(&self, digest: &Digest) -> PathBuf
Path to the pending implicit-dir fixup sidecar for a layer.
Sourcepub fn lock_path(&self, digest: &Digest) -> PathBuf
pub fn lock_path(&self, digest: &Digest) -> PathBuf
Path to the extraction lock file for a layer.
Sourcepub fn download_lock_path(&self, digest: &Digest) -> PathBuf
pub fn download_lock_path(&self, digest: &Digest) -> PathBuf
Path to the download lock file for a layer.
Sourcepub fn image_lock_path(&self, reference: &Reference) -> PathBuf
pub fn image_lock_path(&self, reference: &Reference) -> PathBuf
Path to the pull lock file for an image reference.
Sourcepub fn is_extracted(&self, digest: &Digest) -> bool
pub fn is_extracted(&self, digest: &Digest) -> bool
Check if a layer is fully extracted (.complete marker present).
Sourcepub fn all_layers_extracted(&self, digests: &[Digest]) -> bool
pub fn all_layers_extracted(&self, digests: &[Digest]) -> bool
Check if all given layer digests are fully extracted.
Sourcepub fn read_image_metadata(
&self,
reference: &Reference,
) -> ImageResult<Option<CachedImageMetadata>>
pub fn read_image_metadata( &self, reference: &Reference, ) -> ImageResult<Option<CachedImageMetadata>>
Read cached metadata for an image reference.
Sourcepub fn delete_image_metadata(&self, reference: &Reference) -> ImageResult<()>
pub fn delete_image_metadata(&self, reference: &Reference) -> ImageResult<()>
Delete cached metadata for an image reference.