@cryptotaxi247 / kubo / commits / 9af9ee625

misc(bitswap) renaming

License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

Brian Tiger Chow committed Nov 19, 2014 at 09:40 UTC 9af9ee6255b2f0e90bf02bb198f23cefcf11cd51
1 file changed +18 -17
exchange/bitswap/bitswap.go
+18 -17
@@ -153,14 +153,14 @@ func (bs *bitswap) sendWantListTo(ctx context.Context, peers <-chan peer.Peer) e
153
154 func (bs *bitswap) run(ctx context.Context) {
155
156 + const batchDelay = time.Millisecond * 3 // Time to wait before sending out wantlists to better batch up requests
157 + const numKeysPerBatch = 10
158 + const maxProvidersPerRequest = 6
159 const rebroadcastPeriod = time.Second * 5 // Every so often, we should resend out our current want list
157 - const batchDelay = time.Millisecond * 3 // Time to wait before sending out wantlists to better batch up requests
158 - const peersPerSend = 6
159 - const threshold = 10
160
161 - var sendlist <-chan peer.Peer // NB: must be initialized to zero value
161 + var providers <-chan peer.Peer // NB: must be initialized to zero value
162 broadcastSignal := time.After(rebroadcastPeriod)
163 - unsent := 0
163 + unsentKeys := 0
164
165 for {
166 select {
@@ -169,32 +169,33 @@ func (bs *bitswap) run(ctx context.Context) {
169 if len(wantlist) == 0 {
170 continue
171 }
172 - if sendlist == nil {
172 + if providers == nil {
173 // rely on semi randomness of maps
174 firstKey := wantlist[0]
175 - sendlist = bs.routing.FindProvidersAsync(ctx, firstKey, 6)
175 + providers = bs.routing.FindProvidersAsync(ctx, firstKey, 6)
176 }
177 - err := bs.sendWantListTo(ctx, sendlist)
177 + err := bs.sendWantListTo(ctx, providers)
178 if err != nil {
179 log.Errorf("error sending wantlist: %s", err)
180 }
181 - sendlist = nil
181 + providers = nil
182 broadcastSignal = time.After(rebroadcastPeriod)
183 +
184 case k := <-bs.blockRequests:
184 - if unsent == 0 {
185 - sendlist = bs.routing.FindProvidersAsync(ctx, k, peersPerSend)
185 + if unsentKeys == 0 {
186 + providers = bs.routing.FindProvidersAsync(ctx, k, maxProvidersPerRequest)
187 }
187 - unsent++
188 + unsentKeys++
189
189 - if unsent >= threshold {
190 - // send wantlist to sendlist
191 - err := bs.sendWantListTo(ctx, sendlist)
190 + if unsentKeys >= numKeysPerBatch {
191 + // send wantlist to providers
192 + err := bs.sendWantListTo(ctx, providers)
193 if err != nil {
194 log.Errorf("error sending wantlist: %s", err)
195 }
195 - unsent = 0
196 + unsentKeys = 0
197 broadcastSignal = time.After(rebroadcastPeriod)
197 - sendlist = nil
198 + providers = nil
199 } else {
200 // set a timeout to wait for more blocks or send current wantlist
201