Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ReconcilerConfig ¶
type ReconcilerConfig struct { // DisableUpdateOnChange disables the queuing of updates when the reconciler // detects that a value has changed in the datastore. DisableUpdateOnChange bool // DisableMissingInDatastore disables queueing of updates when the reconciler // detects that a value is no longer in the datastore but still exists in the cache. DisableMissingInDatastore bool // DisableMissingInCache disables queueing of updates when reconciler detects // that a value that is still in the datastore no longer is in the cache. DisableMissingInCache bool }
ReconcilerConfig contains configuration for the periodic reconciler.
type ResourceCache ¶
type ResourceCache interface { // Set sets the key to the provided value, and generates an update // on the queue the value has changed. Set(key string, value interface{}) // Get gets the value associated with the given key. Returns nil // if the key is not present. Get(key string) (interface{}, bool) // Prime sets the key to the provided value, but does not generate // and update on the queue ever. Prime(key string, value interface{}) // Delete deletes the value identified by the given key from the cache, and // generates an update on the queue if a value was deleted. Delete(key string) // Clean removes the object identified by the given key from the cache. // It does not generate an update on the queue. Clean(key string) // ListKeys lists the keys currently in the cache. ListKeys() []string // Run enables the generation of events on the output queue starts // cache reconciliation. Run(reconcilerPeriod string) // GetQueue returns the cache's output queue, which emits a stream // of any keys which have been created, modified, or deleted. GetQueue() workqueue.RateLimitingInterface }
ResourceCache stores resources and queues updates when those resources are created, modified, or deleted. It de-duplicates updates by ensuring updates are only queued when an object has changed.
func NewResourceCache ¶
func NewResourceCache(args ResourceCacheArgs) ResourceCache
NewResourceCache builds and returns a resource cache using the provided arguments.
type ResourceCacheArgs ¶
type ResourceCacheArgs struct { // ListFunc returns a mapping of keys to objects from the Calico datastore. ListFunc func() (map[string]interface{}, error) // ObjectType is the type of object which is to be stored in this cache. ObjectType reflect.Type // LogTypeDesc (optional) to log the type of object stored in the cache. // If not provided it is derived from the ObjectType. LogTypeDesc string ReconcilerConfig ReconcilerConfig }
ResourceCacheArgs struct passed to constructor of ResourceCache. Groups together all the arguments to pass in single struct.
Click to show internal directories.
Click to hide internal directories.