package layer
import "github.com/containerd/stargz-snapshotter/fs/layer"
Index ¶
- func TestSuiteLayer(t *testing.T, store metadata.Store)
- type Info
- type Layer
- type OverlayOpaqueType
- type Resolver
- func NewResolver(root string, backgroundTaskManager *task.BackgroundTaskManager, cfg config.Config, resolveHandlers map[string]remote.Handler, metadataStore metadata.Store, overlayOpaqueType OverlayOpaqueType, additionalDecompressors func(context.Context, source.RegistryHosts, reference.Spec, ocispec.Descriptor) []metadata.Decompressor) (*Resolver, error)
- func (r *Resolver) Resolve(ctx context.Context, hosts source.RegistryHosts, refspec reference.Spec, desc ocispec.Descriptor, esgzOpts ...metadata.Option) (_ Layer, retErr error)
Functions ¶
func TestSuiteLayer ¶
Types ¶
type Info ¶
type Info struct { Digest digest.Digest Size int64 // layer size in bytes FetchedSize int64 // layer fetched size in bytes PrefetchSize int64 // layer prefetch size in bytes ReadTime time.Time // last time the layer was read TOCDigest digest.Digest }
Info is the current status of a layer.
type Layer ¶
type Layer interface { // Info returns the information of this layer. Info() Info // RootNode returns the root node of this layer. RootNode(baseInode uint32) (fusefs.InodeEmbedder, error) // Check checks if the layer is still connectable. Check() error // Refresh refreshes the layer connection. Refresh(ctx context.Context, hosts source.RegistryHosts, refspec reference.Spec, desc ocispec.Descriptor) error // Verify verifies this layer using the passed TOC Digest. // Nop if Verify() or SkipVerify() was already called. Verify(tocDigest digest.Digest) (err error) // SkipVerify skips verification for this layer. // Nop if Verify() or SkipVerify() was already called. SkipVerify() // Prefetch prefetches the specified size. If the layer is eStargz and contains landmark files, // the range indicated by these files is respected. Prefetch(prefetchSize int64) error // ReadAt reads this layer. ReadAt([]byte, int64, ...remote.Option) (int, error) // WaitForPrefetchCompletion waits untils Prefetch completes. WaitForPrefetchCompletion() error // BackgroundFetch fetches the entire layer contents to the cache. // Fetching contents is done as a background task. BackgroundFetch() error // Done releases the reference to this layer. The resources related to this layer will be // discarded sooner or later. Queries after calling this function won't be serviced. Done() }
Layer represents a layer.
type OverlayOpaqueType ¶
type OverlayOpaqueType int
const ( OverlayOpaqueAll OverlayOpaqueType = iota OverlayOpaqueTrusted OverlayOpaqueUser )
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver resolves the layer location and provieds the handler of that layer.
func NewResolver ¶
func NewResolver(root string, backgroundTaskManager *task.BackgroundTaskManager, cfg config.Config, resolveHandlers map[string]remote.Handler, metadataStore metadata.Store, overlayOpaqueType OverlayOpaqueType, additionalDecompressors func(context.Context, source.RegistryHosts, reference.Spec, ocispec.Descriptor) []metadata.Decompressor) (*Resolver, error)
NewResolver returns a new layer resolver.
func (*Resolver) Resolve ¶
func (r *Resolver) Resolve(ctx context.Context, hosts source.RegistryHosts, refspec reference.Spec, desc ocispec.Descriptor, esgzOpts ...metadata.Option) (_ Layer, retErr error)
Resolve resolves a layer based on the passed layer blob information.
Source Files ¶
- Version
- v0.16.3 (latest)
- Published
- Dec 12, 2024
- Platform
- linux/amd64
- Imports
- 42 packages
- Last checked
- 2 weeks ago –
Tools for package owners.