|
8 | 8 | "fmt"
|
9 | 9 | "os"
|
10 | 10 | "path/filepath"
|
| 11 | + "runtime" |
11 | 12 |
|
12 | 13 | "github.com/mattermost/mattermost-plugin-calls/server/cluster"
|
13 | 14 | "github.com/mattermost/mattermost-plugin-calls/server/enterprise"
|
@@ -157,50 +158,47 @@ func (p *Plugin) OnActivate() (retErr error) {
|
157 | 158 | p.LogDebug("rtcd client manager initialized successfully")
|
158 | 159 |
|
159 | 160 | p.rtcdManager = rtcdManager
|
| 161 | + } else { |
| 162 | + rtcServerConfig := rtc.ServerConfig{ |
| 163 | + ICEAddressUDP: cfg.UDPServerAddress, |
| 164 | + ICEAddressTCP: cfg.TCPServerAddress, |
| 165 | + ICEPortUDP: *cfg.UDPServerPort, |
| 166 | + ICEPortTCP: *cfg.TCPServerPort, |
| 167 | + ICEHostOverride: cfg.ICEHostOverride, |
| 168 | + ICEServers: rtc.ICEServers(cfg.getICEServers(false)), |
| 169 | + TURNConfig: rtc.TURNConfig{ |
| 170 | + CredentialsExpirationMinutes: *cfg.TURNCredentialsExpirationMinutes, |
| 171 | + }, |
| 172 | + EnableIPv6: *cfg.EnableIPv6, |
| 173 | + UDPSocketsCount: runtime.NumCPU(), |
| 174 | + } |
| 175 | + if *cfg.ServerSideTURN { |
| 176 | + rtcServerConfig.TURNConfig.StaticAuthSecret = cfg.TURNStaticAuthSecret |
| 177 | + } |
| 178 | + if cfg.ICEHostPortOverride != nil { |
| 179 | + rtcServerConfig.ICEHostPortOverride = rtc.ICEHostPortOverride(fmt.Sprintf("%d", *cfg.ICEHostPortOverride)) |
| 180 | + } |
| 181 | + rtcServer, err := rtc.NewServer(rtcServerConfig, newLogger(p), p.metrics.RTCMetrics()) |
| 182 | + if err != nil { |
| 183 | + p.LogError(err.Error()) |
| 184 | + return err |
| 185 | + } |
160 | 186 |
|
161 |
| - go p.clusterEventsHandler() |
162 |
| - |
163 |
| - p.LogDebug("activated", "ClusterID", status.ClusterId) |
164 |
| - |
165 |
| - return nil |
166 |
| - } |
| 187 | + if err := rtcServer.Start(); err != nil { |
| 188 | + p.LogError(err.Error()) |
| 189 | + return err |
| 190 | + } |
167 | 191 |
|
168 |
| - rtcServerConfig := rtc.ServerConfig{ |
169 |
| - ICEAddressUDP: cfg.UDPServerAddress, |
170 |
| - ICEAddressTCP: cfg.TCPServerAddress, |
171 |
| - ICEPortUDP: *cfg.UDPServerPort, |
172 |
| - ICEPortTCP: *cfg.TCPServerPort, |
173 |
| - ICEHostOverride: cfg.ICEHostOverride, |
174 |
| - ICEServers: rtc.ICEServers(cfg.getICEServers(false)), |
175 |
| - TURNConfig: rtc.TURNConfig{ |
176 |
| - CredentialsExpirationMinutes: *cfg.TURNCredentialsExpirationMinutes, |
177 |
| - }, |
178 |
| - EnableIPv6: *cfg.EnableIPv6, |
179 |
| - } |
180 |
| - if *cfg.ServerSideTURN { |
181 |
| - rtcServerConfig.TURNConfig.StaticAuthSecret = cfg.TURNStaticAuthSecret |
182 |
| - } |
183 |
| - if cfg.ICEHostPortOverride != nil { |
184 |
| - rtcServerConfig.ICEHostPortOverride = rtc.ICEHostPortOverride(fmt.Sprintf("%d", *cfg.ICEHostPortOverride)) |
185 |
| - } |
186 |
| - rtcServer, err := rtc.NewServer(rtcServerConfig, newLogger(p), p.metrics.RTCMetrics()) |
187 |
| - if err != nil { |
188 |
| - p.LogError(err.Error()) |
189 |
| - return err |
190 |
| - } |
| 192 | + p.rtcServer = rtcServer |
191 | 193 |
|
192 |
| - if err := rtcServer.Start(); err != nil { |
193 |
| - p.LogError(err.Error()) |
194 |
| - return err |
| 194 | + go p.wsWriter() |
195 | 195 | }
|
196 | 196 |
|
197 | 197 | p.mut.Lock()
|
198 | 198 | p.nodeID = status.ClusterId
|
199 |
| - p.rtcServer = rtcServer |
200 | 199 | p.mut.Unlock()
|
201 | 200 |
|
202 | 201 | go p.clusterEventsHandler()
|
203 |
| - go p.wsWriter() |
204 | 202 |
|
205 | 203 | p.LogDebug("activated", "ClusterID", status.ClusterId)
|
206 | 204 |
|
|
0 commit comments