Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrRefresh = errors.New("feature flag changed, restart worker")
ErrRefresh indicates that the flag's Check result is no longer valid, and a new featureflag.Worker must be started to get a valid result.
Functions ¶
func Manifold ¶
func Manifold(config ManifoldConfig) dependency.Manifold
Manifold returns a dependency.Manifold that will run a FlagWorker and expose it to clients as a engine.Flag resource.
Types ¶
type Config ¶
type Config struct { Source ConfigSource Logger loggo.Logger FlagName string Invert bool }
Config holds the information needed by the featureflag worker.
type ConfigSource ¶
type ConfigSource interface { WatchControllerConfig() state.NotifyWatcher ControllerConfig() (controller.Config, error) }
ConfigSource lets us get notifications of changes to controller configuration, and then get the changed config. (Primary implementation is State.)
type ManifoldConfig ¶
type ManifoldConfig struct { StateName string FlagName string Invert bool Logger loggo.Logger NewWorker func(Config) (worker.Worker, error) }
ManifoldConfig holds the information necessary to run a featureflag.Worker in a dependency.Engine.
func (ManifoldConfig) Validate ¶
func (config ManifoldConfig) Validate() error
Validate validates the manifold configuration.
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
Worker implements worker.Worker and util.Flag, representing controller ownership of a model, such that the Flag's validity is tied to the Worker's lifetime.