feat(stream watchers) end streaming if too many notifications

This commit is contained in:
Cenk Alti
2014-01-09 12:26:21 +02:00
parent 22a25a18b3
commit c247d807af
2 changed files with 14 additions and 9 deletions

View File

@@ -80,7 +80,14 @@ func handleWatch(key string, recursive, stream bool, waitIndex string, w http.Re
case <-closeChan:
chunkWriter.Close()
return nil
case event := <-watcher.EventChan:
case event, ok := <-watcher.EventChan:
if !ok {
// If the channel is closed this may be an indication of
// that notifications are much more than we are able to
// send to the client in time. Then we simply end streaming.
return nil
}
b, _ := json.Marshal(event)
_, err := chunkWriter.Write(b)
if err != nil {