From: Matt Joiner Date: Thu, 14 Aug 2025 02:45:51 +0000 (+1000) Subject: Rebuke webseed peers for a minute on bad responses X-Git-Tag: v1.59.0~2^2~5 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=b171419afabe8d829591e5aee87a183796d9f885;p=btrtrc.git Rebuke webseed peers for a minute on bad responses --- diff --git a/webseed-peer.go b/webseed-peer.go index cbeac41c..beb3d0a8 100644 --- a/webseed-peer.go +++ b/webseed-peer.go @@ -317,6 +317,12 @@ func (ws *webseedPeer) readChunks(wr *webseedRequest) (err error) { fmt.Printf("webseed read %v after cancellation: %v\n", n, err) } if err != nil { + // TODO: Pick out missing files or associate error with file. See also + // webseed.ReadRequestPartError. + var badResponse webseed.ErrBadResponse + if errors.As(err, &badResponse) { + ws.convict(badResponse, time.Minute) + } err = fmt.Errorf("reading chunk: %w", err) return }