From 803af90180e207261a2ca603737be8954b5e3ef8 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Mon, 5 Sep 2016 20:13:10 -0700 Subject: [PATCH] bitswap: search for wantlist providers a little less often License: MIT Signed-off-by: Jeromy --- exchange/bitswap/workers.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/exchange/bitswap/workers.go b/exchange/bitswap/workers.go index 1871571508c..6da730a80c1 100644 --- a/exchange/bitswap/workers.go +++ b/exchange/bitswap/workers.go @@ -1,6 +1,7 @@ package bitswap import ( + "math/rand" "sync" "time" @@ -175,15 +176,14 @@ func (bs *Bitswap) rebroadcastWorker(parent context.Context) { if len(entries) == 0 { continue } - tctx, cancel := context.WithTimeout(ctx, providerRequestTimeout) - for _, e := range bs.wm.wl.Entries() { - e := e - bs.findKeys <- &blockRequest{ - Key: e.Key, - Ctx: tctx, - } + + // TODO: come up with a better strategy for determining when to search + // for new providers for blocks. + i := rand.Intn(len(entries)) + bs.findKeys <- &blockRequest{ + Key: entries[i].Key, + Ctx: ctx, } - cancel() case <-parent.Done(): return }