2
0
mirror of synced 2025-02-23 22:28:11 +00:00

Change piece prioritization

This commit is contained in:
Matt Joiner 2015-02-21 15:02:31 +11:00
parent 2025daa77c
commit 92e0679b04
2 changed files with 7 additions and 6 deletions

View File

@ -295,7 +295,7 @@ func (cl *Client) readRaisePiecePriorities(t *torrent, off, _len int64) {
return
}
cl.raisePiecePriority(t, index, piecePriorityNext)
for i := 0; i < t.numConnsUnchoked()-2; i++ {
for i := 0; i < 3; i++ {
index++
if index >= t.numPieces() {
break

View File

@ -98,14 +98,15 @@ func (cn *connection) pendPiece(piece int, priority piecePriority) {
// priority pieces.
switch priority {
case piecePriorityReadahead:
key -= len(cn.piecePriorities) / 3
case piecePriorityNext:
key -= len(cn.piecePriorities) / 2
case piecePriorityNow:
key -= len(cn.piecePriorities)
case piecePriorityNext:
key -= 2 * len(cn.piecePriorities)
case piecePriorityNow:
key -= 3 * len(cn.piecePriorities)
}
// Favour earlier pieces more than later pieces.
key -= piece / 2
// key -= piece / 2
cn.pieceRequestOrder.SetPiece(piece, key)
}