Don't block on full subscriber channels (dead?)

This commit is contained in:
James Mills 2018-05-03 11:04:15 -07:00
джерело 32f92b201f
коміт 850ebb6f5f
Не вдалося знайти GPG ключ що відповідає даному підпису
Ідентифікатор GPG ключа: AC4C014F1440EBD6

@ -106,8 +106,16 @@ func (ls *Listeners) Get(id string) (chan Message, bool) {
// NotifyAll ...
func (ls *Listeners) NotifyAll(message Message) {
for _, ch := range ls.chs {
ch <- message
for id, ch := range ls.chs {
select {
case ch <- message:
log.Debugf("successfully published message to %s", message, id)
default:
// TODO: Bump a counter?
// TODO: Drop this client?
// TODO: Retry later?
log.Warnf("cannot publish message to %s", message, id)
}
}
}