cache

package
v2.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package cache provides facilities to speed up access to the storage backend.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckBlobDescriptorCache

func CheckBlobDescriptorCache(t *testing.T, provider BlobDescriptorCacheProvider)

CheckBlobDescriptorCache takes a cache implementation through a common set of operations. If adding new tests, please add them here so new implementations get the benefit. This should be used for unit tests.

func NewCachedBlobStatter

NewCachedBlobStatter creates a new statter which prefers a cache and falls back to a backend.

func NewCachedBlobStatterWithMetrics

func NewCachedBlobStatterWithMetrics(cache distribution.BlobDescriptorService, backend distribution.BlobDescriptorService, tracker MetricsTracker) distribution.BlobStatter

NewCachedBlobStatterWithMetrics creates a new statter which prefers a cache and falls back to a backend. Hits and misses will send to the tracker.

func ValidateDescriptor

func ValidateDescriptor(desc distribution.Descriptor) error

ValidateDescriptor provides a helper function to ensure that caches have common criteria for admitting descriptors.

Types

type BlobDescriptorCacheProvider

type BlobDescriptorCacheProvider interface {
	distribution.BlobDescriptorService

	RepositoryScoped(repo string) (distribution.BlobDescriptorService, error)
}

BlobDescriptorCacheProvider provides repository scoped BlobDescriptorService cache instances and a global descriptor cache.

type Metrics

type Metrics struct {
	Requests uint64
	Hits     uint64
	Misses   uint64
}

Metrics is used to hold metric counters related to the number of times a cache was hit or missed.

type MetricsTracker

type MetricsTracker interface {
	Hit()
	Miss()
	Metrics() Metrics
}

MetricsTracker represents a metric tracker which simply counts the number of hits and misses.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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