Versions in this module Expand all Collapse all v0 v0.2.0 Dec 7, 2025 v0.1.0 Nov 17, 2025 Changes in this version + const DebugTest + const HashSize + func FileHash(file string) ([HashSize]byte, error) + func PutBytes(c Cache, id ActionID, data []byte) error + func SetFileHash(file string, sum [HashSize]byte) + type ActionID [HashSize]byte + func Subkey(parent ActionID, desc string) ActionID + type Cache interface + Close func() error + FuzzDir func() string + Get func(ActionID) (Entry, error) + OutputFile func(OutputID) string + Put func(ActionID, io.ReadSeeker) (_ OutputID, size int64, _ error) + type DiskCache struct + func Open(dir string) (*DiskCache, error) + func (c *DiskCache) Close() error + func (c *DiskCache) FuzzDir() string + func (c *DiskCache) Get(id ActionID) (Entry, error) + func (c *DiskCache) OutputFile(out OutputID) string + func (c *DiskCache) Put(id ActionID, file io.ReadSeeker) (OutputID, int64, error) + func (c *DiskCache) PutExecutable(id ActionID, name string, file io.ReadSeeker) (OutputID, int64, error) + func (c *DiskCache) Trim() error + func (c *DiskCache) TrimExtra(cutoff *time.Time, maxSize *int64, l *slog.Logger) (before, freed int64) + func (c *DiskCache) TrimForce(cutoff *time.Time, maxSize *int64, l *slog.Logger) (before, freed int64) + type Entry struct + OutputID OutputID + Size int64 + Time time.Time + func GetBytes(c Cache, id ActionID) ([]byte, Entry, error) + func GetFile(c Cache, id ActionID) (file string, entry Entry, err error) + func GetMmap(c Cache, id ActionID) ([]byte, Entry, bool, error) + type EntryNotFoundError = entryNotFoundError + type Hash struct + func NewHash(name string) *Hash + func (h *Hash) Sum() [HashSize]byte + func (h *Hash) Write(b []byte) (int, error) + type OutputID [HashSize]byte + func PutNoVerify(c Cache, id ActionID, file io.ReadSeeker) (OutputID, int64, error)