mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 02:26:26 +05:00
New cacheCfg params
This commit is contained in:
@@ -33,6 +33,7 @@ type CacheParamCfg struct {
|
||||
TTL time.Duration
|
||||
StaticTTL bool
|
||||
Precache bool
|
||||
Remote bool
|
||||
Replicate bool
|
||||
}
|
||||
|
||||
@@ -49,6 +50,9 @@ func (cParam *CacheParamCfg) loadFromJSONCfg(jsnCfg *CacheParamJsonCfg) (err err
|
||||
if jsnCfg.Precache != nil {
|
||||
cParam.Precache = *jsnCfg.Precache
|
||||
}
|
||||
if jsnCfg.Remote != nil {
|
||||
cParam.Remote = *jsnCfg.Remote
|
||||
}
|
||||
if jsnCfg.Replicate != nil {
|
||||
cParam.Replicate = *jsnCfg.Replicate
|
||||
}
|
||||
@@ -64,6 +68,7 @@ func (cParam *CacheParamCfg) AsMapInterface() (initialMP map[string]interface{})
|
||||
utils.LimitCfg: cParam.Limit,
|
||||
utils.StaticTTLCfg: cParam.StaticTTL,
|
||||
utils.PrecacheCfg: cParam.Precache,
|
||||
utils.RemoteCfg: cParam.Remote,
|
||||
utils.ReplicateCfg: cParam.Replicate,
|
||||
}
|
||||
if cParam.TTL != 0 {
|
||||
@@ -79,6 +84,7 @@ func (cParam CacheParamCfg) Clone() (cln *CacheParamCfg) {
|
||||
TTL: cParam.TTL,
|
||||
StaticTTL: cParam.StaticTTL,
|
||||
Precache: cParam.Precache,
|
||||
Remote: cParam.Remote,
|
||||
Replicate: cParam.Replicate,
|
||||
}
|
||||
}
|
||||
@@ -87,6 +93,7 @@ func (cParam CacheParamCfg) Clone() (cln *CacheParamCfg) {
|
||||
type CacheCfg struct {
|
||||
Partitions map[string]*CacheParamCfg
|
||||
ReplicationConns []string
|
||||
RemoteConns []string
|
||||
}
|
||||
|
||||
// loadCacheCfg loads the Cache section of the configuration
|
||||
@@ -118,6 +125,12 @@ func (cCfg *CacheCfg) loadFromJSONCfg(jsnCfg *CacheJsonCfg) (err error) {
|
||||
cCfg.ReplicationConns[idx] = connID
|
||||
}
|
||||
}
|
||||
if jsnCfg.Remote_conns != nil {
|
||||
cCfg.RemoteConns = make([]string, len(*jsnCfg.Remote_conns))
|
||||
for idx, connID := range *jsnCfg.Remote_conns {
|
||||
cCfg.RemoteConns[idx] = connID
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -144,6 +157,9 @@ func (cCfg CacheCfg) AsMapInterface(string) interface{} {
|
||||
if cCfg.ReplicationConns != nil {
|
||||
mp[utils.ReplicationConnsCfg] = cCfg.ReplicationConns
|
||||
}
|
||||
if cCfg.RemoteConns != nil {
|
||||
mp[utils.RemoteConnsCfg] = cCfg.RemoteConns
|
||||
}
|
||||
return mp
|
||||
}
|
||||
|
||||
@@ -161,6 +177,9 @@ func (cCfg CacheCfg) Clone() (cln *CacheCfg) {
|
||||
if cCfg.ReplicationConns != nil {
|
||||
cln.ReplicationConns = utils.CloneStringSlice(cCfg.ReplicationConns)
|
||||
}
|
||||
if cCfg.RemoteConns != nil {
|
||||
cln.RemoteConns = utils.CloneStringSlice(cCfg.RemoteConns)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -169,6 +188,7 @@ type CacheParamJsonCfg struct {
|
||||
Ttl *string
|
||||
Static_ttl *bool
|
||||
Precache *bool
|
||||
Remote *bool
|
||||
Replicate *bool
|
||||
}
|
||||
|
||||
@@ -182,6 +202,7 @@ func diffCacheParamsJsonCfg(d map[string]*CacheParamJsonCfg, v2 map[string]*Cach
|
||||
Ttl: utils.StringPointer(val2.TTL.String()),
|
||||
Static_ttl: utils.BoolPointer(val2.StaticTTL),
|
||||
Precache: utils.BoolPointer(val2.Precache),
|
||||
Remote: utils.BoolPointer(val2.Remote),
|
||||
Replicate: utils.BoolPointer(val2.Replicate),
|
||||
}
|
||||
}
|
||||
@@ -191,6 +212,7 @@ func diffCacheParamsJsonCfg(d map[string]*CacheParamJsonCfg, v2 map[string]*Cach
|
||||
type CacheJsonCfg struct {
|
||||
Partitions map[string]*CacheParamJsonCfg
|
||||
Replication_conns *[]string
|
||||
Remote_conns *[]string
|
||||
}
|
||||
|
||||
func diffCacheJsonCfg(d *CacheJsonCfg, v1, v2 *CacheCfg) *CacheJsonCfg {
|
||||
@@ -201,5 +223,8 @@ func diffCacheJsonCfg(d *CacheJsonCfg, v1, v2 *CacheCfg) *CacheJsonCfg {
|
||||
if !utils.SliceStringEqual(v1.ReplicationConns, v2.ReplicationConns) {
|
||||
d.Replication_conns = &v2.ReplicationConns
|
||||
}
|
||||
if !utils.SliceStringEqual(v1.RemoteConns, v2.RemoteConns) {
|
||||
d.Remote_conns = &v2.RemoteConns
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
@@ -137,13 +137,13 @@ func TestCachesCfgAsMapInterface1(t *testing.T) {
|
||||
cfgJSONStr := `{
|
||||
"caches":{
|
||||
"partitions": {
|
||||
"*dispatchers": {"limit": -1, "ttl": "", "static_ttl": false, "precache": true, "replicate": true},
|
||||
"*dispatchers": {"limit": -1, "ttl": "", "static_ttl": false, "precache": true, "remote":false, "replicate": true},
|
||||
},
|
||||
},
|
||||
}`
|
||||
eMap := map[string]interface{}{
|
||||
utils.PartitionsCfg: map[string]interface{}{
|
||||
utils.MetaDispatchers: map[string]interface{}{"limit": -1, "static_ttl": false, "precache": true, "replicate": true},
|
||||
utils.MetaDispatchers: map[string]interface{}{"limit": -1, "static_ttl": false, "precache": true, "remote": false, "replicate": true},
|
||||
},
|
||||
utils.ReplicationConnsCfg: []string{},
|
||||
}
|
||||
@@ -186,6 +186,7 @@ func TestDiffCacheParamsJsonCfg(t *testing.T) {
|
||||
TTL: 5 * time.Minute,
|
||||
StaticTTL: true,
|
||||
Precache: false,
|
||||
Remote: true,
|
||||
Replicate: true,
|
||||
},
|
||||
}
|
||||
@@ -196,6 +197,7 @@ func TestDiffCacheParamsJsonCfg(t *testing.T) {
|
||||
Ttl: utils.StringPointer("5m0s"),
|
||||
Static_ttl: utils.BoolPointer(true),
|
||||
Precache: utils.BoolPointer(false),
|
||||
Remote: utils.BoolPointer(true),
|
||||
Replicate: utils.BoolPointer(true),
|
||||
},
|
||||
}
|
||||
@@ -220,6 +222,7 @@ func TestDiffCacheParamsJsonCfg(t *testing.T) {
|
||||
Ttl: utils.StringPointer("2m0s"),
|
||||
Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(true),
|
||||
Remote: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
}
|
||||
@@ -239,6 +242,7 @@ func TestDiffCacheJsonCfg(t *testing.T) {
|
||||
TTL: 2 * time.Minute,
|
||||
StaticTTL: false,
|
||||
Precache: true,
|
||||
Remote: false,
|
||||
Replicate: false,
|
||||
},
|
||||
},
|
||||
@@ -252,6 +256,7 @@ func TestDiffCacheJsonCfg(t *testing.T) {
|
||||
TTL: 5 * time.Minute,
|
||||
StaticTTL: true,
|
||||
Precache: false,
|
||||
Remote: true,
|
||||
Replicate: true,
|
||||
},
|
||||
},
|
||||
@@ -265,6 +270,7 @@ func TestDiffCacheJsonCfg(t *testing.T) {
|
||||
Ttl: utils.StringPointer("5m0s"),
|
||||
Static_ttl: utils.BoolPointer(true),
|
||||
Precache: utils.BoolPointer(false),
|
||||
Remote: utils.BoolPointer(true),
|
||||
Replicate: utils.BoolPointer(true),
|
||||
},
|
||||
},
|
||||
@@ -284,6 +290,7 @@ func TestDiffCacheJsonCfg(t *testing.T) {
|
||||
Ttl: utils.StringPointer("2m0s"),
|
||||
Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(true),
|
||||
Remote: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -225,51 +225,52 @@ const CGRATES_CFG_JSON = `
|
||||
|
||||
"caches":{
|
||||
"partitions": {
|
||||
"*resource_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control resource profiles caching
|
||||
"*resources": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control resources caching
|
||||
"*event_resources": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // matching resources to events
|
||||
"*statqueue_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // statqueue profiles
|
||||
"*statqueues": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // statqueues with metrics
|
||||
"*threshold_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control threshold profiles caching
|
||||
"*thresholds": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control thresholds caching
|
||||
"*filters": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control filters caching
|
||||
"*route_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control route profile caching
|
||||
"*attribute_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control attribute profile caching
|
||||
"*charger_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control charger profile caching
|
||||
"*dispatcher_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control dispatcher profile caching
|
||||
"*dispatcher_hosts": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control dispatcher hosts caching
|
||||
"*rate_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control rate profile caching
|
||||
"*action_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control action profile caching
|
||||
"*accounts": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control account profile caching
|
||||
"*resource_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control resource filter indexes caching
|
||||
"*stat_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control stat filter indexes caching
|
||||
"*threshold_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control threshold filter indexes caching
|
||||
"*route_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control route filter indexes caching
|
||||
"*attribute_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control attribute filter indexes caching
|
||||
"*charger_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control charger filter indexes caching
|
||||
"*dispatcher_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control dispatcher filter indexes caching
|
||||
"*rate_profile_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control rate profile filter indexes caching
|
||||
"*rate_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control rate filter indexes caching
|
||||
"*action_profile_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control action profile filter indexes caching
|
||||
"*account_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control coount profile filter indexes caching
|
||||
"*reverse_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control reverse filter indexes caching used only for set and remove filters
|
||||
"*dispatcher_routes": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control dispatcher routes caching
|
||||
"*dispatcher_loads": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control dispatcher load( in case of *ratio ConnParams is present)
|
||||
"*dispatchers": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // control dispatcher interface
|
||||
"*diameter_messages": {"limit": -1, "ttl": "3h", "static_ttl": false, "replicate": false}, // diameter messages caching
|
||||
"*rpc_responses": {"limit": 0, "ttl": "2s", "static_ttl": false, "replicate": false}, // RPC responses caching
|
||||
"*closed_sessions": {"limit": -1, "ttl": "10s", "static_ttl": false, "replicate": false}, // closed sessions cached for CDRs
|
||||
"*event_charges": {"limit": 0, "ttl": "10s", "static_ttl": false, "replicate": false}, // events proccessed by ChargerS
|
||||
"*cdr_ids": {"limit": -1, "ttl": "10m", "static_ttl": false, "replicate": false}, // protects CDRs against double-charging
|
||||
"*load_ids": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "replicate": false}, // control the load_ids for items
|
||||
"*rpc_connections": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // RPC connections caching
|
||||
"*uch": {"limit": -1, "ttl": "3h", "static_ttl": false, "replicate": false}, // User cache
|
||||
"*stir": {"limit": -1, "ttl": "3h", "static_ttl": false, "replicate": false}, // stirShaken cache keys
|
||||
"*apiban":{"limit": -1, "ttl": "2m", "static_ttl": false, "replicate": false},
|
||||
"*caps_events": {"limit": -1, "ttl": "", "static_ttl": false, "replicate": false}, // caps cached samples
|
||||
"*replication_hosts": {"limit": 0, "ttl": "", "static_ttl": false, "replicate": false}, // the replication hosts cache(used when replication_filtered is enbled)
|
||||
"*resource_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control resource profiles caching
|
||||
"*resources": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control resources caching
|
||||
"*event_resources": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // matching resources to events
|
||||
"*statqueue_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // statqueue profiles
|
||||
"*statqueues": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // statqueues with metrics
|
||||
"*threshold_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control threshold profiles caching
|
||||
"*thresholds": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control thresholds caching
|
||||
"*filters": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control filters caching
|
||||
"*route_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control route profile caching
|
||||
"*attribute_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control attribute profile caching
|
||||
"*charger_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control charger profile caching
|
||||
"*dispatcher_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control dispatcher profile caching
|
||||
"*dispatcher_hosts": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control dispatcher hosts caching
|
||||
"*rate_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control rate profile caching
|
||||
"*action_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control action profile caching
|
||||
"*accounts": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control account profile caching
|
||||
"*resource_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control resource filter indexes caching
|
||||
"*stat_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control stat filter indexes caching
|
||||
"*threshold_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control threshold filter indexes caching
|
||||
"*route_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control route filter indexes caching
|
||||
"*attribute_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control attribute filter indexes caching
|
||||
"*charger_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control charger filter indexes caching
|
||||
"*dispatcher_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control dispatcher filter indexes caching
|
||||
"*rate_profile_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control rate profile filter indexes caching
|
||||
"*rate_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control rate filter indexes caching
|
||||
"*action_profile_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control action profile filter indexes caching
|
||||
"*account_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control coount profile filter indexes caching
|
||||
"*reverse_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control reverse filter indexes caching used only for set and remove filters
|
||||
"*dispatcher_routes": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control dispatcher routes caching
|
||||
"*dispatcher_loads": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control dispatcher load( in case of *ratio ConnParams is present)
|
||||
"*dispatchers": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // control dispatcher interface
|
||||
"*diameter_messages": {"limit": -1, "ttl": "3h", "static_ttl": false, "remote":false, "replicate": false}, // diameter messages caching
|
||||
"*rpc_responses": {"limit": 0, "ttl": "2s", "static_ttl": false, "remote":false, "replicate": false}, // RPC responses caching
|
||||
"*closed_sessions": {"limit": -1, "ttl": "10s", "static_ttl": false, "remote":false, "replicate": false}, // closed sessions cached for CDRs
|
||||
"*event_charges": {"limit": 0, "ttl": "10s", "static_ttl": false, "remote":false, "replicate": false}, // events proccessed by ChargerS
|
||||
"*cdr_ids": {"limit": -1, "ttl": "10m", "static_ttl": false, "remote":false, "replicate": false}, // protects CDRs against double-charging
|
||||
"*load_ids": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false, "remote":false, "replicate": false}, // control the load_ids for items
|
||||
"*rpc_connections": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // RPC connections caching
|
||||
"*uch": {"limit": -1, "ttl": "3h", "static_ttl": false, "remote":false, "replicate": false}, // User cache
|
||||
"*stir": {"limit": -1, "ttl": "3h", "static_ttl": false, "remote":false, "replicate": false}, // stirShaken cache keys
|
||||
"*apiban":{"limit": -1, "ttl": "2m", "static_ttl": false, "remote":false, "replicate": false},
|
||||
"*caps_events": {"limit": -1, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // caps cached samples
|
||||
"*replication_hosts": {"limit": 0, "ttl": "", "static_ttl": false, "remote":false, "replicate": false}, // the replication hosts cache(used when replication_filtered is enbled)
|
||||
},
|
||||
"replication_conns": [],
|
||||
"remote_conns": [], // the conns that are queried when the items are not found in cache
|
||||
},
|
||||
|
||||
|
||||
|
||||
@@ -93,136 +93,137 @@ func TestCacheJsonCfg(t *testing.T) {
|
||||
Partitions: map[string]*CacheParamJsonCfg{
|
||||
utils.CacheResourceProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheResources: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheEventResources: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheStatQueueProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheStatQueues: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheThresholdProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheThresholds: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheFilters: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRouteProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheAttributeProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheChargerProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatcherProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRateProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheActionProfiles: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheAccounts: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatcherHosts: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheResourceFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheStatFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheThresholdFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRouteFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheAttributeFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheChargerFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatcherFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRateProfilesFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRateFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheActionProfilesFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheAccountsFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheReverseFilterIndexes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatcherRoutes: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatcherLoads: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDispatchers: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheDiameterMessages: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("3h"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRPCResponses: {Limit: utils.IntPointer(0),
|
||||
Ttl: utils.StringPointer("2s"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheClosedSessions: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("10s"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheEventCharges: {Limit: utils.IntPointer(0),
|
||||
Ttl: utils.StringPointer("10s"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheCDRIDs: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("10m"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheLoadIDs: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
Precache: utils.BoolPointer(false), Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheRPCConnections: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheUCH: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("3h"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheSTIR: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("3h"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheCapsEvents: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false),
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
utils.MetaAPIBan: {Limit: utils.IntPointer(-1),
|
||||
Ttl: utils.StringPointer("2m"), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
utils.CacheReplicationHosts: {Limit: utils.IntPointer(0),
|
||||
Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false)},
|
||||
Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)},
|
||||
},
|
||||
Replication_conns: &[]string{},
|
||||
Remote_conns: &[]string{},
|
||||
}
|
||||
dfCgrJSONCfg, err := NewCgrJsonCfgFromBytes([]byte(CGRATES_CFG_JSON))
|
||||
if err != nil {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -642,6 +642,7 @@ func TestEEsCfgAsMapInterface(t *testing.T) {
|
||||
utils.MetaFileCSV: map[string]interface{}{
|
||||
utils.LimitCfg: -2,
|
||||
utils.PrecacheCfg: false,
|
||||
utils.RemoteCfg: false,
|
||||
utils.ReplicateCfg: false,
|
||||
utils.TTLCfg: "1s",
|
||||
utils.StaticTTLCfg: false,
|
||||
@@ -1103,6 +1104,7 @@ func TestDiffEEsJsonCfg(t *testing.T) {
|
||||
Limit: utils.IntPointer(1),
|
||||
Ttl: utils.StringPointer("0s"),
|
||||
Static_ttl: utils.BoolPointer(false),
|
||||
Remote: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
@@ -1128,6 +1130,7 @@ func TestDiffEEsJsonCfg(t *testing.T) {
|
||||
Ttl: utils.StringPointer("0s"),
|
||||
Static_ttl: utils.BoolPointer(false),
|
||||
Precache: utils.BoolPointer(false),
|
||||
Remote: utils.BoolPointer(false),
|
||||
Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -2089,18 +2089,18 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) {
|
||||
},
|
||||
},
|
||||
utils.CacheCfg: map[string]interface{}{
|
||||
utils.MetaFilters: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaAttributes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaResources: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaStats: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaThresholds: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaRoutes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaChargers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaDispatchers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaDispatcherHosts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaRateProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaActionProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaAccounts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaFilters: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaAttributes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaResources: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaStats: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaThresholds: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaRoutes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaChargers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaDispatchers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaDispatcherHosts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaRateProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaActionProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
utils.MetaAccounts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user