From 764f5db512fb41b188871b3a1b730a3cb4191b95 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 16 Jun 2015 16:54:12 +1000 Subject: [PATCH] Make readahead always at least 2 blocks. --- client.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client.go b/client.go index 2d6bbab5..1f119900 100644 --- a/client.go +++ b/client.go @@ -275,8 +275,12 @@ again: // Calculates the number of pieces to set to Readahead priority, after the // Now, and Next pieces. -func readaheadPieces(readahead, pieceLength int64) int { - return int((readahead+pieceLength-1)/pieceLength - 1) +func readaheadPieces(readahead, pieceLength int64) (ret int) { + ret = int((readahead+pieceLength-1)/pieceLength - 1) + if ret < 2 { + ret = 2 + } + return } func (cl *Client) readRaisePiecePriorities(t *torrent, off, readaheadBytes int64) {