Add max_reconnect_interval option for fsConn config

This commit is contained in:
ionutboangiu
2022-05-20 16:20:14 +03:00
committed by Dan Christian Bogos
parent 0b9a856a03
commit 5144febe20
2 changed files with 23 additions and 16 deletions

View File

@@ -386,10 +386,11 @@ type FreeswitchAgentJsonCfg struct {
// Represents one connection instance towards FreeSWITCH
type FsConnJsonCfg struct {
Address *string
Password *string
Reconnects *int
Alias *string
Address *string
Password *string
Reconnects *int
MaxReconnectInterval *string
Alias *string
}
type RPCConnsJson struct {

View File

@@ -38,10 +38,11 @@ func NewDfltFsConnConfig() *FsConnCfg {
// FsConnCfg one connection to FreeSWITCH server
type FsConnCfg struct {
Address string
Password string
Reconnects int
Alias string
Address string
Password string
Reconnects int
MaxReconnectInterval string
Alias string
}
func (fs *FsConnCfg) loadFromJSONCfg(jsnCfg *FsConnJsonCfg) error {
@@ -57,6 +58,9 @@ func (fs *FsConnCfg) loadFromJSONCfg(jsnCfg *FsConnJsonCfg) error {
if jsnCfg.Reconnects != nil {
fs.Reconnects = *jsnCfg.Reconnects
}
if jsnCfg.MaxReconnectInterval != nil {
fs.MaxReconnectInterval = *jsnCfg.MaxReconnectInterval
}
fs.Alias = fs.Address
if jsnCfg.Alias != nil && *jsnCfg.Alias != "" {
fs.Alias = *jsnCfg.Alias
@@ -68,20 +72,22 @@ func (fs *FsConnCfg) loadFromJSONCfg(jsnCfg *FsConnJsonCfg) error {
// AsMapInterface returns the config as a map[string]interface{}
func (fs *FsConnCfg) AsMapInterface() map[string]interface{} {
return map[string]interface{}{
utils.AddressCfg: fs.Address,
utils.Password: fs.Password,
utils.ReconnectsCfg: fs.Reconnects,
utils.AliasCfg: fs.Alias,
utils.AddressCfg: fs.Address,
utils.Password: fs.Password,
utils.ReconnectsCfg: fs.Reconnects,
utils.MaxReconnectIntervalCfg: fs.MaxReconnectInterval,
utils.AliasCfg: fs.Alias,
}
}
// Clone returns a deep copy of AsteriskAgentCfg
func (fs FsConnCfg) Clone() *FsConnCfg {
return &FsConnCfg{
Address: fs.Address,
Password: fs.Password,
Reconnects: fs.Reconnects,
Alias: fs.Alias,
Address: fs.Address,
Password: fs.Password,
Reconnects: fs.Reconnects,
MaxReconnectInterval: fs.MaxReconnectInterval,
Alias: fs.Alias,
}
}