cacher

package
v0.0.0-...-bb15e6e Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 10 Imported by: 5

Documentation

Overview

Package cacher provides various blobref fetching caching mechanisms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CachingFetcher

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

A CachingFetcher is a blob.Fetcher and a blob.SeekFetcher.

func NewCachingFetcher

func NewCachingFetcher(cache blobserver.Cache, fetcher blob.Fetcher) *CachingFetcher

NewCachingFetcher returns a CachingFetcher that fetches from fetcher and writes to and serves from cache.

func (*CachingFetcher) Fetch

func (cf *CachingFetcher) Fetch(ctx context.Context, br blob.Ref) (content io.ReadCloser, size uint32, err error)

func (*CachingFetcher) SetCacheHitHook

func (cf *CachingFetcher) SetCacheHitHook(fn func(br blob.Ref, rc io.ReadCloser) (io.ReadCloser, error))

SetCacheHitHook sets a function that will modify the return values from Fetch in the case of a cache hit. Its purpose is to add potential side-effects from calling the Fetcher that would have happened if we had had a cache miss. It is the responsibility of fn to return a ReadCloser equivalent to the state that rc was given in.

type DiskCache

type DiskCache struct {
	*CachingFetcher

	// Root is the temp directory being used to store files.
	// It is available mostly for debug printing.
	Root string
	// contains filtered or unexported fields
}

A DiskCache is a blob.Fetcher that serves from a local temp directory and is backed by a another blob.Fetcher (usually the pkg/client HTTP client).

func NewDiskCache

func NewDiskCache(fetcher blob.Fetcher) (*DiskCache, error)

NewDiskCache returns a new DiskCache from a Fetcher, which is usually the pkg/client HTTP client (which typically has much higher latency and lower bandwidth than local disk).

func (*DiskCache) Clean

func (dc *DiskCache) Clean()

Clean cleans some or all of the DiskCache.

Jump to

Keyboard shortcuts

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