From: Matt Joiner Date: Sun, 7 Dec 2014 03:18:17 +0000 (-0600) Subject: Make some overlap of piece priorities X-Git-Tag: v1.0.0~1411 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=a4dc96bb12330691acc669d2ed80db615374065f;p=btrtrc.git Make some overlap of piece priorities The goal is to reduce duplicating requests on higher priority pieces. --- 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) }