+ if errors.Is(err, webseed.ErrTooFast) {
+ time.Sleep(time.Duration(rand.Int63n(int64(10 * time.Second))))
+ }
+ // Demeter is throwing a tantrum on Mount Olympus for this
+ ws.peer.t.cl.locker().RLock()
+ duration := time.Until(ws.lastUnhandledErr.Add(webseedPeerUnhandledErrorSleep))
+ ws.peer.t.cl.locker().RUnlock()
+ time.Sleep(duration)
+ ws.requesterCond.L.Lock()