cache

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2026 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlobMeta

type BlobMeta struct {
	Digest       string    `json:"digest"`
	LastAccessed time.Time `json:"last_accessed"`
	Size         int64     `json:"size"`
	CreatedAt    time.Time `json:"created_at"`
}

BlobMeta holds metadata about a blob for LRU tracking

type LRUTracker

type LRUTracker struct {
	// contains filtered or unexported fields
}

LRUTracker tracks blob access times for LRU eviction

func NewLRUTracker

func NewLRUTracker(metaDir string, ttl time.Duration, logger *logrus.Logger) (*LRUTracker, error)

NewLRUTracker creates a new LRU tracker

func (*LRUTracker) GetExpiredBlobs

func (t *LRUTracker) GetExpiredBlobs(ctx context.Context) []digest.Digest

GetExpiredBlobs returns blobs that have exceeded the TTL

func (*LRUTracker) GetStats

func (t *LRUTracker) GetStats() map[string]interface{}

GetStats returns statistics about tracked blobs

func (*LRUTracker) RecordAccess

func (t *LRUTracker) RecordAccess(dgst digest.Digest, size int64) error

RecordAccess updates the last access time for a blob

func (*LRUTracker) RecordWrite

func (t *LRUTracker) RecordWrite(dgst digest.Digest, size int64) error

RecordWrite records when a blob is written

func (*LRUTracker) RemoveBlob

func (t *LRUTracker) RemoveBlob(dgst digest.Digest) error

RemoveBlob removes a blob from tracking

func (*LRUTracker) StartCleanup

func (t *LRUTracker) StartCleanup(ctx context.Context, interval time.Duration, deleteFunc func(digest.Digest) error)

StartCleanup starts the periodic cleanup goroutine

func (*LRUTracker) StopCleanup

func (t *LRUTracker) StopCleanup()

StopCleanup stops the cleanup goroutine

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL