Reorder actions after a chunk is received
This commit is contained in:
parent
26116a7df8
commit
9b6e3f25cd
15
client.go
15
client.go
|
@ -856,13 +856,6 @@ func (me *Client) downloadedChunk(t *torrent, c *connection, msg *pp.Message) er
|
|||
}
|
||||
me.dataReady(dataSpec{t.InfoHash, req})
|
||||
|
||||
// Cancel pending requests for this chunk.
|
||||
for _, c := range t.Conns {
|
||||
if me.connCancel(t, c, req) {
|
||||
me.replenishConnRequests(t, c)
|
||||
}
|
||||
}
|
||||
|
||||
// Record that we have the chunk.
|
||||
delete(t.Pieces[req.Index].PendingChunkSpecs, req.chunkSpec)
|
||||
if len(t.Pieces[req.Index].PendingChunkSpecs) == 0 {
|
||||
|
@ -878,6 +871,14 @@ func (me *Client) downloadedChunk(t *torrent, c *connection, msg *pp.Message) er
|
|||
}
|
||||
}
|
||||
|
||||
// Cancel pending requests for this chunk.
|
||||
for _, c := range t.Conns {
|
||||
if me.connCancel(t, c, req) {
|
||||
log.Print("cancelled concurrent request for %s", req)
|
||||
me.replenishConnRequests(t, c)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue