Skip to content

Commit

Permalink
Don't call MarkPeerAsActive when util.ShouldIgnoreNetworkError is true (
Browse files Browse the repository at this point in the history
#193)

These are network errors we just don't want to log. They will still
cause the connection to be closed and the context to be cancelled
causing MarkPeerAsActive to error with 'context canceled'.
  • Loading branch information
erikdubbelboer authored Feb 7, 2025
1 parent 8222f9b commit b30f502
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions internal/signaling/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,13 @@ func Handler(ctx context.Context, store stores.Store, cloudflare *cloudflare.Cre
for {
select {
case <-ticker.C:
if err := peer.Send(ctx, PingPacket{Type: "ping"}); err != nil && !util.ShouldIgnoreNetworkError(err) {
if strings.Contains(err.Error(), "write: broken pipe") {
logger.Warn("failed to send ping packet", zap.String("peer", peer.ID), zap.Error(err))
} else {
logger.Error("failed to send ping packet", zap.String("peer", peer.ID), zap.Error(err))
if err := peer.Send(ctx, PingPacket{Type: "ping"}); err != nil {
if !util.ShouldIgnoreNetworkError(err) {
if strings.Contains(err.Error(), "write: broken pipe") {
logger.Warn("failed to send ping packet", zap.String("peer", peer.ID), zap.Error(err))
} else {
logger.Error("failed to send ping packet", zap.String("peer", peer.ID), zap.Error(err))
}
}
} else {
// If we can send a ping packet, and the peer has an ID, we update the peer as being active.
Expand Down

0 comments on commit b30f502

Please sign in to comment.