Add max_reconnect_interval option for KamConn config

This commit is contained in:
ionutboangiu
2022-05-20 17:33:12 +03:00
committed by Dan Christian Bogos
parent bd96dd2fa0
commit b45f5d3752
2 changed files with 19 additions and 12 deletions

View File

@@ -34,9 +34,10 @@ func NewDfltKamConnConfig() *KamConnCfg {
// KamConnCfg represents one connection instance towards Kamailio
type KamConnCfg struct {
Alias string
Address string
Reconnects int
Alias string
Address string
Reconnects int
MaxReconnectInterval string
}
func (kamCfg *KamConnCfg) loadFromJSONCfg(jsnCfg *KamConnJsonCfg) error {
@@ -52,24 +53,29 @@ func (kamCfg *KamConnCfg) loadFromJSONCfg(jsnCfg *KamConnJsonCfg) error {
if jsnCfg.Reconnects != nil {
kamCfg.Reconnects = *jsnCfg.Reconnects
}
if jsnCfg.MaxReconnectInterval != nil {
kamCfg.MaxReconnectInterval = *jsnCfg.MaxReconnectInterval
}
return nil
}
// AsMapInterface returns the config as a map[string]interface{}
func (kamCfg *KamConnCfg) AsMapInterface() map[string]interface{} {
return map[string]interface{}{
utils.AliasCfg: kamCfg.Alias,
utils.AddressCfg: kamCfg.Address,
utils.ReconnectsCfg: kamCfg.Reconnects,
utils.AliasCfg: kamCfg.Alias,
utils.AddressCfg: kamCfg.Address,
utils.ReconnectsCfg: kamCfg.Reconnects,
utils.MaxReconnectIntervalCfg: kamCfg.MaxReconnectInterval,
}
}
// Clone returns a deep copy of KamConnCfg
func (kamCfg KamConnCfg) Clone() *KamConnCfg {
return &KamConnCfg{
Alias: kamCfg.Alias,
Address: kamCfg.Address,
Reconnects: kamCfg.Reconnects,
Alias: kamCfg.Alias,
Address: kamCfg.Address,
Reconnects: kamCfg.Reconnects,
MaxReconnectInterval: kamCfg.MaxReconnectInterval,
}
}

View File

@@ -456,9 +456,10 @@ type KamAgentJsonCfg struct {
// Represents one connection instance towards Kamailio
type KamConnJsonCfg struct {
Alias *string
Address *string
Reconnects *int
Alias *string
Address *string
Reconnects *int
MaxReconnectInterval *string
}
// Represents one connection instance towards OpenSIPS