fix always preload

This commit is contained in:
YouROK
2021-03-17 09:28:14 +03:00
parent cfc67398e2
commit 212f6e7ca7

View File

@@ -279,13 +279,13 @@ func (t *Torrent) Preload(index int, size int64) {
} }
if t.Info() != nil { if t.Info() != nil {
pl := t.Info().PieceLength pieceLength := t.Info().PieceLength
mb5 := int64(5 * 1024 * 1024) mb5 := int64(5 * 1024 * 1024)
pieceFileStart := int(file.Offset() / pl) pieceFileStart := int(file.Offset() / pieceLength)
pieceFileEnd := int((file.Offset() + file.Length()) / pl) pieceFileEnd := int((file.Offset() + file.Length()) / pieceLength)
readerPieceBefore := int((file.Offset() + size - mb5) / pl) readerPieceBefore := int((file.Offset() + size - mb5) / pieceLength)
readerPieceAfter := int((file.Offset() + file.Length() - mb5) / pl) readerPieceAfter := int((file.Offset() + file.Length() - mb5) / pieceLength)
lastStat := time.Now().Add(-time.Second) lastStat := time.Now().Add(-time.Second)
@@ -325,6 +325,10 @@ func (t *Torrent) Preload(index int, size int64) {
} }
} }
} }
if t.PreloadedBytes >= size-pieceLength {
isComplete = true
}
t.AddExpiredTime(time.Second * time.Duration(settings.BTsets.TorrentDisconnectTimeout)) t.AddExpiredTime(time.Second * time.Duration(settings.BTsets.TorrentDisconnectTimeout))
if isComplete { if isComplete {
break break