apiserver: k8s.io/apiserver/pkg/storage/cacher Index | Files

package cacher

import "k8s.io/apiserver/pkg/storage/cacher"


Package Files

cacher.go caching_object.go metrics.go time_budget.go util.go watch_cache.go

func NewCacherListerWatcher Uses

func NewCacherListerWatcher(storage storage.Interface, resourcePrefix string, newListFunc func() runtime.Object) cache.ListerWatcher

NewCacherListerWatcher returns a storage.Interface backed ListerWatcher.

type Cacher Uses

type Cacher struct {
    // contains filtered or unexported fields

Cacher is responsible for serving WATCH and LIST requests for a given resource from its internal cache and updating its cache in the background based on the underlying storage contents. Cacher implements storage.Interface (although most of the calls are just delegated to the underlying storage).

func NewCacherFromConfig Uses

func NewCacherFromConfig(config Config) (*Cacher, error)

NewCacherFromConfig creates a new Cacher responsible for servicing WATCH and LIST requests from its internal cache and updating its cache in the background based on the given configuration.

func (*Cacher) Count Uses

func (c *Cacher) Count(pathPrefix string) (int64, error)

Count implements storage.Interface.

func (*Cacher) Create Uses

func (c *Cacher) Create(ctx context.Context, key string, obj, out runtime.Object, ttl uint64) error

Create implements storage.Interface.

func (*Cacher) Delete Uses

func (c *Cacher) Delete(ctx context.Context, key string, out runtime.Object, preconditions *storage.Preconditions, validateDeletion storage.ValidateObjectFunc) error

Delete implements storage.Interface.

func (*Cacher) Get Uses

func (c *Cacher) Get(ctx context.Context, key string, opts storage.GetOptions, objPtr runtime.Object) error

Get implements storage.Interface.

func (*Cacher) GetToList Uses

func (c *Cacher) GetToList(ctx context.Context, key string, opts storage.ListOptions, listObj runtime.Object) error

GetToList implements storage.Interface.

func (*Cacher) GuaranteedUpdate Uses

func (c *Cacher) GuaranteedUpdate(
    ctx context.Context, key string, ptrToType runtime.Object, ignoreNotFound bool,
    preconditions *storage.Preconditions, tryUpdate storage.UpdateFunc, _ runtime.Object) error

GuaranteedUpdate implements storage.Interface.

func (*Cacher) LastSyncResourceVersion Uses

func (c *Cacher) LastSyncResourceVersion() (uint64, error)

LastSyncResourceVersion returns resource version to which the underlying cache is synced.

func (*Cacher) List Uses

func (c *Cacher) List(ctx context.Context, key string, opts storage.ListOptions, listObj runtime.Object) error

List implements storage.Interface.

func (*Cacher) Stop Uses

func (c *Cacher) Stop()

Stop implements the graceful termination.

func (*Cacher) Versioner Uses

func (c *Cacher) Versioner() storage.Versioner

Versioner implements storage.Interface.

func (*Cacher) Watch Uses

func (c *Cacher) Watch(ctx context.Context, key string, opts storage.ListOptions) (watch.Interface, error)

Watch implements storage.Interface.

func (*Cacher) WatchList Uses

func (c *Cacher) WatchList(ctx context.Context, key string, opts storage.ListOptions) (watch.Interface, error)

WatchList implements storage.Interface.

type Config Uses

type Config struct {
    // An underlying storage.Interface.
    Storage storage.Interface

    // An underlying storage.Versioner.
    Versioner storage.Versioner

    // The Cache will be caching objects of a given Type and assumes that they
    // are all stored under ResourcePrefix directory in the underlying database.
    ResourcePrefix string

    // KeyFunc is used to get a key in the underlying storage for a given object.
    KeyFunc func(runtime.Object) (string, error)

    // GetAttrsFunc is used to get object labels, fields
    GetAttrsFunc func(runtime.Object) (label labels.Set, field fields.Set, err error)

    // IndexerFuncs is used for optimizing amount of watchers that
    // needs to process an incoming event.
    IndexerFuncs storage.IndexerFuncs

    // Indexers is used to accelerate the list operation, falls back to regular list
    // operation if no indexer found.
    Indexers *cache.Indexers

    // NewFunc is a function that creates new empty object storing a object of type Type.
    NewFunc func() runtime.Object

    // NewList is a function that creates new empty object storing a list of
    // objects of type Type.
    NewListFunc func() runtime.Object

    Codec runtime.Codec

    Clock clock.Clock

Config contains the configuration for a given Cache.

Package cacher imports 33 packages (graph) and is imported by 1 packages. Updated 2020-11-22. Refresh now. Tools for package owners.