client.go | 12 +++++++----- diff --git a/client.go b/client.go index d6e03cfd0d82884330c6314226440a6815646e07..a3ebdad7931fcb991c5b986acdb845299a0b040e 100644 --- a/client.go +++ b/client.go @@ -107,11 +107,13 @@ } if !t.haveInfo() { return errors.New("missing metadata") } - i := int(off / int64(t.UsualPieceSize())) - me.queueFirstHash(t, i) - i++ - if i < t.NumPieces() { - me.queueFirstHash(t, i) + firstIndex := int(off / int64(t.UsualPieceSize())) + for i := 0; i < 5; i++ { + index := firstIndex + i + if index >= t.NumPieces() { + continue + } + me.queueFirstHash(t, index) } me.downloadStrategy.TorrentPrioritize(t, off, len_) for _, cn := range t.Conns {