use fixed RA and change load limit according to connections

MatriX.127
This commit is contained in:
nikk gitanes
2023-10-31 08:15:47 +03:00
parent 77af528f92
commit 6cdd121d65
2 changed files with 34 additions and 19 deletions

View File

@@ -195,15 +195,23 @@ func (t *Torrent) progressEvent() {
func (t *Torrent) updateRA() {
t.muTorrent.Lock()
defer t.muTorrent.Unlock()
if t.Torrent != nil && t.Torrent.Info() != nil {
pieceLen := t.Torrent.Info().PieceLength
adj := pieceLen * int64(t.Torrent.Stats().ActivePeers) / int64(1+t.cache.Readers())
if adj < pieceLen {
adj = pieceLen
//} else if adj > pieceLen*4 {
// adj = pieceLen * 4
// if t.Torrent != nil && t.Torrent.Info() != nil {
// pieceLen := t.Torrent.Info().PieceLength
// adj := pieceLen * int64(t.Torrent.Stats().ActivePeers) / int64(1+t.cache.Readers())
// switch {
// case adj < pieceLen:
// adj = pieceLen
// case adj > pieceLen*4:
// adj = pieceLen * 4
// }
// go t.cache.AdjustRA(adj)
// }
if t.cache != nil {
readers := t.cache.Readers()
if readers > 0 { // actually it's 0 in preload
adj := int64(16 << 20) // 16 MB fixed RA
go t.cache.AdjustRA(adj)
}
go t.cache.AdjustRA(adj)
}
}