Archived
2
0

add admin broadcast.

This commit is contained in:
Miroslav Šedivý
2021-12-11 13:52:31 +01:00
parent 8db06a7625
commit 42fdc43ff5
3 changed files with 42 additions and 2 deletions

View File

@ -184,6 +184,30 @@ func (manager *SessionManager) Broadcast(v interface{}, exclude interface{}) err
return err
}
}
return nil
}
func (manager *SessionManager) AdminBroadcast(v interface{}, exclude interface{}) error {
manager.mu.Lock()
defer manager.mu.Unlock()
for id, session := range manager.members {
if !session.connected || !session.admin {
continue
}
if exclude != nil {
if in, _ := utils.ArrayIn(id, exclude); in {
continue
}
}
if err := session.Send(v); err != nil {
return err
}
}
return nil
}