Prevent divide by zero if there are no hubs (#8763)
Этот коммит содержится в:
коммит произвёл
Derrick Anderson
родитель
823b22c403
Коммит
68340d4715
@@ -125,6 +125,10 @@ func (a *App) HubStop() {
|
||||
}
|
||||
|
||||
func (a *App) GetHubForUserId(userId string) *Hub {
|
||||
if len(a.Hubs) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
hash := fnv.New32a()
|
||||
hash.Write([]byte(userId))
|
||||
index := hash.Sum32() % uint32(len(a.Hubs))
|
||||
@@ -132,11 +136,17 @@ func (a *App) GetHubForUserId(userId string) *Hub {
|
||||
}
|
||||
|
||||
func (a *App) HubRegister(webConn *WebConn) {
|
||||
a.GetHubForUserId(webConn.UserId).Register(webConn)
|
||||
hub := a.GetHubForUserId(webConn.UserId)
|
||||
if hub != nil {
|
||||
hub.Register(webConn)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) HubUnregister(webConn *WebConn) {
|
||||
a.GetHubForUserId(webConn.UserId).Unregister(webConn)
|
||||
hub := a.GetHubForUserId(webConn.UserId)
|
||||
if hub != nil {
|
||||
hub.Unregister(webConn)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) Publish(message *model.WebSocketEvent) {
|
||||
|
||||
Ссылка в новой задаче
Block a user