Documentation
¶
Overview ¶
Package config //
Package config //
Index ¶
- Constants
- type OptionFunc
- type PollingProjectConfigManager
- func (cm *PollingProjectConfigManager) GetConfig() (pkg.ProjectConfig, error)
- func (cm *PollingProjectConfigManager) OnProjectConfigUpdate(callback func(notification.ProjectConfigUpdateNotification)) (int, error)
- func (cm *PollingProjectConfigManager) RemoveOnProjectConfigUpdate(id int) error
- func (cm *PollingProjectConfigManager) Start(exeCtx utils.ExecutionCtx)
- func (cm *PollingProjectConfigManager) SyncConfig(datafile []byte)
- type StaticProjectConfigManager
Constants ¶
const DatafileURLTemplate = "https://cdn.optimizely.com/datafiles/%s.json"
DatafileURLTemplate is used to construct the endpoint for retrieving the datafile from the CDN
const DefaultPollingInterval = 5 * time.Minute // default to 5 minutes for polling
DefaultPollingInterval sets default interval for polling manager
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OptionFunc ¶
type OptionFunc func(*PollingProjectConfigManager)
OptionFunc is a type to a proper func
func DefaultRequester ¶
func DefaultRequester(sdkKey string) OptionFunc
DefaultRequester is an optional function, sets default requester based on a key.
func InitialDatafile ¶
func InitialDatafile(datafile []byte) OptionFunc
InitialDatafile is an optional function, sets a passed datafile
func PollingInterval ¶
func PollingInterval(interval time.Duration) OptionFunc
PollingInterval is an optional function, sets a passed polling interval
func Requester ¶
func Requester(requester utils.Requester) OptionFunc
Requester is an optional function, sets a passed requester
type PollingProjectConfigManager ¶
type PollingProjectConfigManager struct {
// contains filtered or unexported fields
}
PollingProjectConfigManager maintains a dynamic copy of the project config
func NewPollingProjectConfigManager ¶
func NewPollingProjectConfigManager(sdkKey string, pollingMangerOptions ...OptionFunc) *PollingProjectConfigManager
NewPollingProjectConfigManager returns an instance of the polling config manager with the customized configuration
func (*PollingProjectConfigManager) GetConfig ¶
func (cm *PollingProjectConfigManager) GetConfig() (pkg.ProjectConfig, error)
GetConfig returns the project config
func (*PollingProjectConfigManager) OnProjectConfigUpdate ¶
func (cm *PollingProjectConfigManager) OnProjectConfigUpdate(callback func(notification.ProjectConfigUpdateNotification)) (int, error)
OnProjectConfigUpdate registers a handler for ProjectConfigUpdate notifications
func (*PollingProjectConfigManager) RemoveOnProjectConfigUpdate ¶
func (cm *PollingProjectConfigManager) RemoveOnProjectConfigUpdate(id int) error
RemoveOnProjectConfigUpdate removes handler for ProjectConfigUpdate notification with given id
func (*PollingProjectConfigManager) Start ¶
func (cm *PollingProjectConfigManager) Start(exeCtx utils.ExecutionCtx)
Start starts the polling
func (*PollingProjectConfigManager) SyncConfig ¶
func (cm *PollingProjectConfigManager) SyncConfig(datafile []byte)
SyncConfig gets current datafile and updates projectConfig
type StaticProjectConfigManager ¶
type StaticProjectConfigManager struct {
// contains filtered or unexported fields
}
StaticProjectConfigManager maintains a static copy of the project config
func NewStaticProjectConfigManager ¶
func NewStaticProjectConfigManager(config pkg.ProjectConfig) *StaticProjectConfigManager
NewStaticProjectConfigManager creates a new instance of the manager with the given project config
func NewStaticProjectConfigManagerFromPayload ¶
func NewStaticProjectConfigManagerFromPayload(payload []byte) (*StaticProjectConfigManager, error)
NewStaticProjectConfigManagerFromPayload returns new instance of StaticProjectConfigManager for payload
func NewStaticProjectConfigManagerFromURL ¶
func NewStaticProjectConfigManagerFromURL(sdkKey string) (*StaticProjectConfigManager, error)
NewStaticProjectConfigManagerFromURL returns new instance of StaticProjectConfigManager for URL
func (*StaticProjectConfigManager) GetConfig ¶
func (cm *StaticProjectConfigManager) GetConfig() (pkg.ProjectConfig, error)
GetConfig returns the project config
func (*StaticProjectConfigManager) OnProjectConfigUpdate ¶
func (cm *StaticProjectConfigManager) OnProjectConfigUpdate(callback func(notification.ProjectConfigUpdateNotification)) (int, error)
OnProjectConfigUpdate here satisfies interface
func (*StaticProjectConfigManager) RemoveOnProjectConfigUpdate ¶
func (cm *StaticProjectConfigManager) RemoveOnProjectConfigUpdate(id int) error
RemoveOnProjectConfigUpdate here satisfies interface