ethstats: avoid blocking chan when received invalid stats request

This commit is contained in:
Hao Duan 2020-05-13 19:56:39 +08:00
parent 46698d7931
commit 83b1734cc2

View file

@ -320,8 +320,13 @@ func (s *Service) readLoop(conn *websocket.Conn) {
request, ok := msg["emit"][1].(map[string]interface{})
if !ok {
log.Warn("Invalid stats history request", "msg", msg["emit"][1])
s.histCh <- nil
continue // Ethstats sometime sends invalid history requests, ignore those
select {
// treat it as an no indexes request in which we will return top ones block histories
case s.histCh <- nil:
continue
default:
continue
}
}
list, ok := request["list"].([]interface{})
if !ok {
@ -349,7 +354,7 @@ func (s *Service) readLoop(conn *websocket.Conn) {
}
}
// nodeInfo is the collection of metainformation about a node that is displayed
// nodeInfo is the collection of meta information about a node that is displayed
// on the monitoring page.
type nodeInfo struct {
Name string `json:"name"`