add setLoadPriority

This commit is contained in:
nikk gitanes
2023-10-31 12:44:00 +03:00
parent 877aa785f3
commit 7fcf939fdc

View File

@@ -241,7 +241,17 @@ func (c *Cache) getRemPieces() []*Piece {
}
c.clearPriority()
c.setLoadPriority(ranges)
sort.Slice(piecesRemove, func(i, j int) bool {
return piecesRemove[i].Accessed < piecesRemove[j].Accessed
})
c.filled = fill
return piecesRemove
}
func (c *Cache) setLoadPriority(ranges []Range) {
c.muReaders.Lock()
for r := range c.readers {
if !r.isUse {
@@ -253,10 +263,7 @@ func (c *Cache) getRemPieces() []*Piece {
readerPos := r.getReaderPiece()
readerRAHPos := r.getReaderRAHPiece()
end := r.getPiecesRange().End
count := int(64 << 20 / c.pieceLength) // 64 MB window
if count > 64 {
count = 64
}
count := settings.BTsets.ConnectionsLimit / len(c.readers) // max concurrent loading blocks
limit := 0
for i := readerPos; i < end && limit < count; i++ {
if !c.pieces[i].Complete {
@@ -276,13 +283,6 @@ func (c *Cache) getRemPieces() []*Piece {
}
}
c.muReaders.Unlock()
sort.Slice(piecesRemove, func(i, j int) bool {
return piecesRemove[i].Accessed < piecesRemove[j].Accessed
})
c.filled = fill
return piecesRemove
}
func (c *Cache) isIdInFileBE(ranges []Range, id int) bool {