mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 10:06:24 +05:00
added multiple listeners for diameter agent
This commit is contained in:
committed by
Dan Christian Bogos
parent
897d6f0da1
commit
e859be8806
@@ -55,9 +55,6 @@ type DiameterAgent struct {
|
||||
connMgr *engine.ConnManager
|
||||
caps *engine.Caps
|
||||
|
||||
lnet string
|
||||
laddr string
|
||||
|
||||
srvDep map[string]*sync.WaitGroup
|
||||
}
|
||||
|
||||
@@ -83,8 +80,6 @@ func (da *DiameterAgent) start(filterS *engine.FilterS, caps *engine.Caps) error
|
||||
utils.DiameterAgent, err))
|
||||
return err
|
||||
}
|
||||
da.lnet = da.cfg.DiameterAgentCfg().ListenNet
|
||||
da.laddr = da.cfg.DiameterAgentCfg().Listen
|
||||
da.stopChan = make(chan struct{})
|
||||
go func(d *agents.DiameterAgent) {
|
||||
lnsErr := d.ListenAndServe(da.stopChan)
|
||||
@@ -99,16 +94,8 @@ func (da *DiameterAgent) start(filterS *engine.FilterS, caps *engine.Caps) error
|
||||
|
||||
// Reload handles the change of config
|
||||
func (da *DiameterAgent) Reload() (err error) {
|
||||
da.Lock()
|
||||
defer da.Unlock()
|
||||
if da.lnet == da.cfg.DiameterAgentCfg().ListenNet &&
|
||||
da.laddr == da.cfg.DiameterAgentCfg().Listen {
|
||||
return
|
||||
}
|
||||
close(da.stopChan)
|
||||
filterS := <-da.filterSChan
|
||||
da.filterSChan <- filterS
|
||||
return da.start(filterS, da.caps)
|
||||
da.Shutdown()
|
||||
return da.Start()
|
||||
}
|
||||
|
||||
// Shutdown stops the service
|
||||
|
||||
@@ -94,7 +94,6 @@ func TestDiameterAgentReload1(t *testing.T) {
|
||||
|
||||
cfg.DiameterAgentCfg().Enabled = false
|
||||
cfg.GetReloadChan(config.DA_JSN) <- struct{}{}
|
||||
diamSrv.(*DiameterAgent).lnet = "bad_lnet_test"
|
||||
err2 := diamSrv.Reload()
|
||||
if err != nil {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err2)
|
||||
@@ -156,7 +155,7 @@ func TestDiameterAgentReload3(t *testing.T) {
|
||||
srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)}
|
||||
srv := NewDiameterAgent(cfg, filterSChan, shdChan, nil, caps, srvDep)
|
||||
|
||||
cfg.DiameterAgentCfg().ListenNet = "bad"
|
||||
cfg.DiameterAgentCfg().Listeners[0].Network = "bad"
|
||||
cfg.DiameterAgentCfg().DictionariesPath = ""
|
||||
|
||||
da := srv.(*DiameterAgent)
|
||||
|
||||
Reference in New Issue
Block a user