code: func (p *Peer) shouldLogWriteError(err error) bool {
  	// No logging when the peer is being forcibly disconnected.
  	if atomic.LoadInt32(&p.disconnect) != 0 {
  		return false
  	}
  
  	// No logging when the remote peer has been disconnected.
  	if err == io.EOF {
  		return false
  	}
  	if opErr, ok := err.(*net.OpError); ok && !opErr.Temporary() {
  		return false
  	}
  
  	return true
  }
docs: // shouldLogWriteError returns whether or not the passed error, which is
  // expected to have come from writing to the remote peer in the outHandler,
  // should be logged.