-func ReadConfigAndCreateDbClients(osI OS, clientCreator RedisClientCreator,
- subscribe SubscribeFn,
- sentinelCreateCb RedisSentinelCreateCb) []*DB {
- cfg := readConfig(osI)
- return createDbClients(cfg, clientCreator, subscribe, sentinelCreateCb)
+func completeConfig(cfg *Config) {
+ if len(cfg.sentinelPorts) == 0 {
+ if len(cfg.clusterAddrs) > len(cfg.ports) && len(cfg.ports) > 0 {
+ for i := len(cfg.ports); i < len(cfg.clusterAddrs); i++ {
+ cfg.ports = append(cfg.ports, cfg.ports[i-1])
+ }
+ }
+ } else {
+ if len(cfg.clusterAddrs) > len(cfg.sentinelPorts) {
+ for i := len(cfg.sentinelPorts); i < len(cfg.clusterAddrs); i++ {
+ cfg.sentinelPorts = append(cfg.sentinelPorts, cfg.sentinelPorts[i-1])
+ }
+ }
+ if len(cfg.clusterAddrs) > len(cfg.masterNames) && len(cfg.masterNames) > 0 {
+ for i := len(cfg.masterNames); i < len(cfg.clusterAddrs); i++ {
+ cfg.masterNames = append(cfg.masterNames, cfg.masterNames[i-1])
+ }
+ }
+ }