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(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.

                Source Files