Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplyConfigSet ¶
type ApplyConfigSet interface { // Directive indicates ApplyConfigSet is a directive. directive.Directive // GetApplyConfigSet returns the configset to apply. GetApplyConfigSet() ConfigSet }
ApplyConfigSet is a directive to apply a controllerbus config set. Value type: ApplyConfigSetValue
func NewApplyConfigSet ¶
func NewApplyConfigSet(configSet ConfigSet) ApplyConfigSet
NewApplyConfigSet constructs a new ApplyConfigSet directive.
type ApplyConfigSetValue ¶
type ApplyConfigSetValue = State
ApplyConfigSetValue is the result type for ApplyConfigSet. The value is removed and replaced when any values change.
type ConfigSet ¶
type ConfigSet map[string]ControllerConfig
ConfigSet is a key/value set of controller configs.
func MergeConfigSets ¶ added in v0.15.0
MergeConfigSets merges multiple config sets to one ConfigSet.
type Controller ¶
type Controller interface { // Controller indicates this is a controllerbus controller. controller.Controller // PushControllerConfig pushes a controller configuration for a given key, if // the version is newer. Returns a reference to the configset, or an error. // // Ctx is used for the context of the function call only. PushControllerConfig( ctx context.Context, key string, conf ControllerConfig, ) (Reference, error) }
Controller is a configset controller.
type ControllerConfig ¶
type ControllerConfig interface { // GetRev returns the revision. GetRev() uint64 // GetConfig returns the config object. GetConfig() config.Config }
ControllerConfig is a wrapped controller configuration.
func NewControllerConfig ¶
func NewControllerConfig(rev uint64, conf config.Config) ControllerConfig
NewControllerConfig constructs a controller config object.
type LookupConfigSet ¶ added in v0.8.7
type LookupConfigSet interface { // Directive indicates LookupConfigSet is a directive. directive.Directive // GetLookupConfigSetControllerKeys returns the controller ids to lookup. // These are the keys in the configset map. GetLookupConfigSetControllerKeys() []string }
LookupConfigSet looks up the status of ConfigSet controllers. Value type: LookupConfigSetValue
func NewLookupConfigSet ¶ added in v0.8.7
func NewLookupConfigSet(controllerKeys []string) LookupConfigSet
NewLookupConfigSet constructs a new LookupConfigSet directive.
type LookupConfigSetValue ¶ added in v0.8.7
type LookupConfigSetValue = State
LookupConfigSetValue is the result type for LookupConfigSet. The value is removed and replaced when any values change.
type Reference ¶
type Reference interface { // GetConfigKey returns the configset key for this controller. GetConfigKey() string // GetState returns the current state object. GetState() State // AddStateCb adds a callback that is called when the state changes. // Should not block. // Will be called with the initial state. AddStateCb(func(State)) // Release releases the reference. Release() }
Reference is a reference to a pushed controller config. The reference is used to monitor the state of the controller and release the reference when no longer needed, so that the configured controllers can be properly terminated when no longer needed.
type State ¶
type State interface { // GetId returns the controller id. GetId() string // GetControllerConfig returns the current controller config in use. GetControllerConfig() ControllerConfig // GetController returns the controller instance if running. // Returns nil otherwise. GetController() controller.Controller // GetError returns any error processing the controller config. GetError() error }
State contains controller state.