From a4dc96bb12330691acc669d2ed80db615374065f Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Sat, 6 Dec 2014 21:18:17 -0600 Subject: [PATCH] Make some overlap of piece priorities The goal is to reduce duplicating requests on higher priority pieces. --- connection.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/connection.go b/connection.go index f8855aee..05b037ab 100644 --- a/connection.go +++ b/connection.go @@ -98,11 +98,11 @@ func (cn *connection) pendPiece(piece int, priority piecePriority) { // favouring of higher priority pieces. switch priority { case piecePriorityReadahead: - key -= len(cn.piecePriorities) + key -= len(cn.piecePriorities) / 3 case piecePriorityNext: - key -= 2 * len(cn.piecePriorities) + key -= len(cn.piecePriorities) / 2 case piecePriorityNow: - key -= 3 * len(cn.piecePriorities) + key -= len(cn.piecePriorities) } cn.pieceRequestOrder.SetPiece(piece, key) } -- 2.48.1