Documentation
¶
Overview ¶
Package conf contains configuration structures used to setup the SDK
Index ¶
Constants ¶
const ( // RedisConsumer mode RedisConsumer = "redis-consumer" // Localhost mode Localhost = "localhost" // InMemoryStandAlone mode InMemoryStandAlone = "inmemory-standalone" )
Variables ¶
This section is empty.
Functions ¶
func Normalize ¶
func Normalize(apikey string, cfg *SplitSdkConfig) error
Normalize checks that the parameters passed by the user are correct and updates parameters if necessary. returns an error if something is wrong
func NormalizeSDKConf ¶
func NormalizeSDKConf(sdkConfig AdvancedConfig) conf.AdvancedConfig
NormalizeSDKConf compares against SDK Config to set defaults
Types ¶
type AdvancedConfig ¶
type AdvancedConfig struct {
ImpressionListener impressionlistener.ImpressionListener
HTTPTimeout int
SegmentQueueSize int
SegmentWorkers int
AuthServiceURL string
SdkURL string
EventsURL string
StreamingServiceURL string
TelemetryServiceURL string
EventsBulkSize int64
EventsQueueSize int
ImpressionsQueueSize int
ImpressionsBulkSize int64
StreamingEnabled bool
}
AdvancedConfig exposes more configurable parameters that can be used to further tailor the sdk to the user's needs - ImpressionListener - struct that will be notified each time an impression bulk is ready - HTTPTimeout - Timeout for HTTP requests when doing synchronization - SegmentQueueSize - How many segments can be queued for updating (should be >= # segments the user has) - SegmentWorkers - How many workers will be used when performing segments sync.
type SplitSdkConfig ¶
type SplitSdkConfig struct {
OperationMode string
InstanceName string
IPAddress string
IPAddressesEnabled bool
BlockUntilReady int
SplitFile string
LabelsEnabled bool
SplitSyncProxyURL string
Logger logging.LoggerInterface
LoggerConfig logging.LoggerOptions
TaskPeriods TaskPeriods
Advanced AdvancedConfig
Redis conf.RedisConfig
ImpressionsMode string
}
SplitSdkConfig struct ... struct used to setup a Split.io SDK client.
Parameters: - OperationMode (Required) Must be one of ["inmemory-standalone", "redis-consumer"] - InstanceName (Optional) Name to be used when submitting metrics & impressions to split servers - IPAddress (Optional) Address to be used when submitting metrics & impressions to split servers - BlockUntilReady (Optional) How much to wait until the sdk is ready - SplitFile (Optional) File with splits to use when running in localhost mode - LabelsEnabled (Optional) Can be used to disable labels if the user does not want to send that info to split servers. - Logger: (Optional) Custom logger complying with logging.LoggerInterface - LoggerConfig: (Optional) Options to setup the sdk's own logger - TaskPeriods: (Optional) How often should each task run - Redis: (Required for "redis-consumer". Sets up Redis config - Advanced: (Optional) Sets up various advanced options for the sdk - ImpressionsMode (Optional) Flag for enabling local impressions dedupe - Possible values <'optimized'|'debug'>
func Default ¶
func Default() *SplitSdkConfig
Default returns a config struct with all the default values