diff --git a/client.go b/client.go index 5429dd87..2d6a3582 100644 --- a/client.go +++ b/client.go @@ -1957,9 +1957,7 @@ func (t Torrent) AddPeers(pp []Peer) error { func (t Torrent) DownloadAll() { t.cl.mu.Lock() defer t.cl.mu.Unlock() - for i := range iter.N(t.torrent.Info.NumPieces()) { - t.torrent.pendPiece(i, t.cl) - } + t.torrent.pendPieceRange(0, t.torrent.numPieces()) } // Returns nil metainfo if it isn't in the cache. Checks that the retrieved diff --git a/torrent.go b/torrent.go index 7671da4f..c4c52f5a 100644 --- a/torrent.go +++ b/torrent.go @@ -951,7 +951,7 @@ func (t *torrent) piecePriorityUncached(piece int) (ret piecePriority) { return } -func (t *torrent) pendPiece(piece int, cl *Client) { +func (t *torrent) pendPiece(piece int) { if t.pendingPieces.Contains(piece) { return } @@ -974,20 +974,15 @@ func (t *torrent) getCompletedPieces() (ret bitmap.Bitmap) { return } -func (t *torrent) pendPieces(pend *bitmap.Bitmap) { - t.pendingPieces.Union(pend) - t.updatePiecePriorities() -} - func (t *torrent) unpendPieces(unpend *bitmap.Bitmap) { t.pendingPieces.Sub(unpend) t.updatePiecePriorities() } func (t *torrent) pendPieceRange(begin, end int) { - var bm bitmap.Bitmap - bm.AddRange(begin, end) - t.pendPieces(&bm) + for i := begin; i < end; i++ { + t.pendPiece(i) + } } func (t *torrent) unpendPieceRange(begin, end int) {