mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 13:49:53 +05:00
Added code to load diameter dictionaries only once
This commit is contained in:
committed by
Dan Christian Bogos
parent
067fd96e60
commit
eaa8147633
@@ -63,7 +63,7 @@ var sTestsDiam = []func(t *testing.T){
|
||||
testDiamItKillEngine,
|
||||
}
|
||||
|
||||
//Test start here
|
||||
// Test start here
|
||||
func TestDiamItTcp(t *testing.T) {
|
||||
diamConfigDIR = "diamagent"
|
||||
for _, stest := range sTestsDiam {
|
||||
@@ -131,9 +131,6 @@ func testDiamItStartEngine(t *testing.T) {
|
||||
}
|
||||
|
||||
func testDiamItConnectDiameterClient(t *testing.T) {
|
||||
if diamConfigDIR == "diamsctpagent" || diamConfigDIR == "diamagentmaxconn" {
|
||||
daCfg.DiameterAgentCfg().DictionariesPath = ""
|
||||
}
|
||||
diamClnt, err = NewDiameterClient(daCfg.DiameterAgentCfg().Listen, "INTEGRATION_TESTS",
|
||||
daCfg.DiameterAgentCfg().OriginRealm, daCfg.DiameterAgentCfg().VendorId,
|
||||
daCfg.DiameterAgentCfg().ProductName, utils.DIAMETER_FIRMWARE_REVISION,
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"fmt"
|
||||
"net"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
@@ -31,6 +32,8 @@ import (
|
||||
"github.com/fiorix/go-diameter/diam/sm"
|
||||
)
|
||||
|
||||
var dictOnce sync.Once
|
||||
|
||||
func NewDiameterClient(addr, originHost, originRealm string, vendorId int, productName string,
|
||||
firmwareRev int, dictsDir string, network string) (*DiameterClient, error) {
|
||||
cfg := &sm.Settings{
|
||||
@@ -74,7 +77,10 @@ func NewDiameterClient(addr, originHost, originRealm string, vendorId int, produ
|
||||
},
|
||||
}
|
||||
if len(dictsDir) != 0 {
|
||||
if err := loadDictionaries(dictsDir, "DiameterClient"); err != nil {
|
||||
var err error
|
||||
err = nil
|
||||
dictOnce.Do(func() { err = loadDictionaries(dictsDir, "DiameterClient") })
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user