From 20e64b3191f007ee71a501b2a9466707ae29dd32 Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Mon, 1 Feb 2021 13:11:04 +0300 Subject: [PATCH] all cache on all readers --- src/server/torr/storage/torrstor/readerloader.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server/torr/storage/torrstor/readerloader.go b/src/server/torr/storage/torrstor/readerloader.go index 5c8b116..8ea44d1 100644 --- a/src/server/torr/storage/torrstor/readerloader.go +++ b/src/server/torr/storage/torrstor/readerloader.go @@ -21,8 +21,13 @@ func (r *Reader) getPieceNum(offset int64) int { func (r *Reader) getOffsetRange() (int64, int64) { prc := int64(settings.BTsets.ReaderReadAHead) - beginOffset := r.offset - r.cache.capacity*(100-prc)/100 - endOffset := r.offset + r.cache.capacity*prc/100 + readers := int64(len(r.cache.readers)) + if readers == 0 { + readers = 1 + } + + beginOffset := r.offset - (r.cache.capacity/readers)*(100-prc)/100 + endOffset := r.offset + (r.cache.capacity/readers)*prc/100 if beginOffset < 0 { beginOffset = 0