Documentation ¶
Overview ¶
Package reconciler implements interfaces that attempt to reconcile the desired state of the world with the actual state of the world by triggering relevant actions (register/deregister plugins).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reconciler ¶
type Reconciler interface { // Starts running the reconciliation loop which executes periodically, checks // if plugins that should be registered are register and plugins that should be // unregistered are unregistered. If not, it will trigger register/unregister // operations to rectify. Run(stopCh <-chan struct{}) // AddHandler adds the given plugin handler for a specific plugin type AddHandler(pluginType string, pluginHandler cache.PluginHandler) }
Reconciler runs a periodic loop to reconcile the desired state of the world with the actual state of the world by triggering register and unregister operations.
func NewReconciler ¶
func NewReconciler( operationExecutor operationexecutor.OperationExecutor, loopSleepDuration time.Duration, desiredStateOfWorld cache.DesiredStateOfWorld, actualStateOfWorld cache.ActualStateOfWorld) Reconciler
NewReconciler returns a new instance of Reconciler.
loopSleepDuration - the amount of time the reconciler loop sleeps between
successive executions syncDuration - the amount of time the syncStates sleeps between successive executions
operationExecutor - used to trigger register/unregister operations safely
(prevents more than one operation from being triggered on the same socket path)
desiredStateOfWorld - cache containing the desired state of the world actualStateOfWorld - cache containing the actual state of the world