mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
Merge branch 'master' into old-engine
This commit is contained in:
@@ -84,8 +84,8 @@ func (t *Torrent) Preload(index int, size int64) {
|
|||||||
|
|
||||||
// startend -> 8/16 MB
|
// startend -> 8/16 MB
|
||||||
startend := t.Info().PieceLength
|
startend := t.Info().PieceLength
|
||||||
if startend < 8*1024*1024 {
|
if startend < 8<<20 {
|
||||||
startend = 8 * 1024 * 1024
|
startend = 8 << 20
|
||||||
}
|
}
|
||||||
|
|
||||||
readerStart := file.NewReader()
|
readerStart := file.NewReader()
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ func (c *Cache) getRemPieces() []*Piece {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// on preload clean
|
// on preload clean
|
||||||
// TODO проверить
|
|
||||||
if p.Size > 0 && !c.isIdInFileBE(ranges, id) {
|
if p.Size > 0 && !c.isIdInFileBE(ranges, id) {
|
||||||
piecesRemove = append(piecesRemove, p)
|
piecesRemove = append(piecesRemove, p)
|
||||||
}
|
}
|
||||||
@@ -254,7 +253,7 @@ func (c *Cache) getRemPieces() []*Piece {
|
|||||||
readerPos := r.getReaderPiece()
|
readerPos := r.getReaderPiece()
|
||||||
readerRAHPos := r.getReaderRAHPiece()
|
readerRAHPos := r.getReaderRAHPiece()
|
||||||
end := r.getPiecesRange().End
|
end := r.getPiecesRange().End
|
||||||
count := int(16 * 1024 * 1024 * 4 / c.pieceLength) // 64 MB window
|
count := int(64 << 20 / c.pieceLength) // 64 MB window
|
||||||
if count > 64 {
|
if count > 64 {
|
||||||
count = 64
|
count = 64
|
||||||
}
|
}
|
||||||
@@ -289,8 +288,8 @@ func (c *Cache) getRemPieces() []*Piece {
|
|||||||
func (c *Cache) isIdInFileBE(ranges []Range, id int) bool {
|
func (c *Cache) isIdInFileBE(ranges []Range, id int) bool {
|
||||||
// keep 8/16 MB
|
// keep 8/16 MB
|
||||||
FileRangeNotDelete := int64(c.pieceLength)
|
FileRangeNotDelete := int64(c.pieceLength)
|
||||||
if FileRangeNotDelete < 8*1024*1024 {
|
if FileRangeNotDelete < 8<<20 {
|
||||||
FileRangeNotDelete = 8 * 1024 * 1024
|
FileRangeNotDelete = 8 << 20
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, rng := range ranges {
|
for _, rng := range ranges {
|
||||||
@@ -316,14 +315,15 @@ func (c *Cache) NewReader(file *torrent.File) *Reader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cache) Readers() int {
|
func (c *Cache) Readers() int {
|
||||||
if c == nil {
|
// TODO проверить
|
||||||
|
// if c == nil {
|
||||||
|
// return 0
|
||||||
|
// }
|
||||||
|
if c == nil || c.readers == nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
c.muReaders.Lock()
|
c.muReaders.Lock()
|
||||||
defer c.muReaders.Unlock()
|
defer c.muReaders.Unlock()
|
||||||
if c == nil || c.readers == nil {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return len(c.readers)
|
return len(c.readers)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ type Reader struct {
|
|||||||
lastAccess int64
|
lastAccess int64
|
||||||
isUse bool
|
isUse bool
|
||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
ranges Range
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func newReader(file *torrent.File, cache *Cache) *Reader {
|
func newReader(file *torrent.File, cache *Cache) *Reader {
|
||||||
|
|||||||
Reference in New Issue
Block a user