diff options
Diffstat (limited to 'ethwire/messaging.go')
-rw-r--r-- | ethwire/messaging.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ethwire/messaging.go b/ethwire/messaging.go index b622376f3..cc0e7a9a0 100644 --- a/ethwire/messaging.go +++ b/ethwire/messaging.go @@ -69,6 +69,12 @@ func NewMessage(msgType MsgType, data interface{}) *Msg { } func ReadMessage(data []byte) (msg *Msg, remaining []byte, done bool, err error) { + defer func() { + if r := recover(); r != nil { + panic(fmt.Sprintf("message error %d %v", len(data), data)) + } + }() + if len(data) == 0 { return nil, nil, true, nil } @@ -124,7 +130,7 @@ func ReadMessages(conn net.Conn) (msgs []*Msg, err error) { var totalBytes int for { // Give buffering some time - conn.SetReadDeadline(time.Now().Add(20 * time.Millisecond)) + conn.SetReadDeadline(time.Now().Add(500 * time.Millisecond)) // Create a new temporarily buffer b := make([]byte, 1440) // Wait for a message from this peer @@ -134,7 +140,6 @@ func ReadMessages(conn net.Conn) (msgs []*Msg, err error) { fmt.Println("err now", err) return nil, err } else { - fmt.Println("IOF NOW") break } |