When debugging, it's useful to know why a receive func exited.
We were already logging that, but only in the "death spiral" case.
Move the logging up, to capture it always.
Reduce the verbosity, since it is not an error case any more.
Put the receive func name in the log line.
Signed-off-by: Josh Bleecher Snyder <josharian@gmail.com>
size, endpoint, err = recv(buffer[:])
if err != nil {
+ device.log.Verbosef("Routine: receive incoming %s - failed to receive packet: %v", recvName, err)
device.PutMessageBuffer(buffer)
if errors.Is(err, net.ErrClosed) {
return
if neterr, ok := err.(net.Error); ok && !neterr.Temporary() {
return
}
- device.log.Errorf("Failed to receive packet: %v", err)
if deathSpiral < 10 {
deathSpiral++
time.Sleep(time.Second / 3)