mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updating FSock module to improve thread safety
This commit is contained in:
@@ -303,7 +303,7 @@ func (fsa *FSsessions) Connect() error {
|
||||
errChan := make(chan error)
|
||||
for connIdx, connCfg := range fsa.cfg.EventSocketConns {
|
||||
fSock, err := fsock.NewFSock(connCfg.Address, connCfg.Password, connCfg.Reconnects, connCfg.MaxReconnectInterval, utils.FibDuration,
|
||||
fsa.createHandlers(), eventFilters, utils.Logger, connIdx, true)
|
||||
fsa.createHandlers(), eventFilters, utils.Logger, connIdx, true, errChan)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -312,13 +312,9 @@ func (fsa *FSsessions) Connect() error {
|
||||
}
|
||||
fsa.conns[connIdx] = fSock
|
||||
utils.Logger.Info(fmt.Sprintf("<%s> successfully connected to FreeSWITCH at: <%s>", utils.FreeSWITCHAgent, connCfg.Address))
|
||||
go func(fsock *fsock.FSock) { // Start reading in own goroutine, return on error
|
||||
if err := fsock.ReadEvents(); err != nil {
|
||||
errChan <- err
|
||||
}
|
||||
}(fSock)
|
||||
fsSenderPool := fsock.NewFSockPool(5, connCfg.Address, connCfg.Password, 1, fsa.cfg.MaxWaitConnection,
|
||||
0, utils.FibDuration, make(map[string][]func(string, int)), make(map[string][]string), utils.Logger, connIdx, true)
|
||||
0, utils.FibDuration, make(map[string][]func(string, int)), make(map[string][]string),
|
||||
utils.Logger, connIdx, true, make(chan error))
|
||||
if fsSenderPool == nil {
|
||||
return errors.New("Cannot connect FreeSWITCH senders pool")
|
||||
}
|
||||
|
||||
2
go.mod
2
go.mod
@@ -20,7 +20,7 @@ require (
|
||||
github.com/cgrates/aringo v0.0.0-20220525160735-b5990313d99e
|
||||
github.com/cgrates/baningo v0.0.0-20210413080722-004ffd5e429f
|
||||
github.com/cgrates/birpc v1.3.1-0.20211117095917-5b0ff29f3084
|
||||
github.com/cgrates/fsock v0.0.0-20240311151258-8016689eb100
|
||||
github.com/cgrates/fsock v0.0.0-20240317132706-0122a473021f
|
||||
github.com/cgrates/kamevapi v0.0.0-20240307160311-26273f03eedf
|
||||
github.com/cgrates/ltcache v0.0.0-20210405185848-da943e80c1ab
|
||||
github.com/cgrates/radigo v0.0.0-20240123163129-491c899df727
|
||||
|
||||
4
go.sum
4
go.sum
@@ -51,8 +51,8 @@ github.com/cgrates/baningo v0.0.0-20210413080722-004ffd5e429f h1:dCp5BflGB8I8wlh
|
||||
github.com/cgrates/baningo v0.0.0-20210413080722-004ffd5e429f/go.mod h1:3SwVROaS1Iml5lqEhj0gRhDRtmbBgypZpKcEkVTSleU=
|
||||
github.com/cgrates/birpc v1.3.1-0.20211117095917-5b0ff29f3084 h1:YIEepjEOjeHaFrewWaar/JkXYiDgO7gRw/R1zWITxEw=
|
||||
github.com/cgrates/birpc v1.3.1-0.20211117095917-5b0ff29f3084/go.mod h1:z/PmNnDPqSQALedKJv5T8+eXIq6XHa9J0St1YsvAVns=
|
||||
github.com/cgrates/fsock v0.0.0-20240311151258-8016689eb100 h1:L5g4xZ+jYW393biBgznhCf0VKyzUjNePqxmFjFqGFBc=
|
||||
github.com/cgrates/fsock v0.0.0-20240311151258-8016689eb100/go.mod h1:bKByLko2HF33K+PbiiToAgevrrbr96C+7Pp3HGS6oag=
|
||||
github.com/cgrates/fsock v0.0.0-20240317132706-0122a473021f h1:TDd1NYWs9nAgJDd7GRXpL3ZgANfmUHMWX9C47ZhsiwQ=
|
||||
github.com/cgrates/fsock v0.0.0-20240317132706-0122a473021f/go.mod h1:bKByLko2HF33K+PbiiToAgevrrbr96C+7Pp3HGS6oag=
|
||||
github.com/cgrates/kamevapi v0.0.0-20240307160311-26273f03eedf h1:GbMJzvtwdX1OCEmsqSts/cRCIcIMvo8AYtC2dQExWlg=
|
||||
github.com/cgrates/kamevapi v0.0.0-20240307160311-26273f03eedf/go.mod h1:oEq/JbubkOD2pXHvDy4r7519NkxriONisrnVpkCaNJw=
|
||||
github.com/cgrates/ltcache v0.0.0-20210405185848-da943e80c1ab h1:dKdAUwrij6vYwewe1WV1+pDSagqGI5JLqjTZZyN2ANo=
|
||||
|
||||
Reference in New Issue
Block a user