From: Matt Joiner Date: Thu, 12 May 2022 00:34:26 +0000 (+1000) Subject: Cache chunksPerRegularPiece X-Git-Tag: v1.43.0~9 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=eb7811f909cb952b599d8aeef5325fb7356d2095;p=btrtrc.git Cache chunksPerRegularPiece --- diff --git a/torrent.go b/torrent.go index 3e91e736..e9bafe51 100644 --- a/torrent.go +++ b/torrent.go @@ -87,6 +87,8 @@ type Torrent struct { fileIndex segments.Index files *[]*File + _chunksPerRegularPiece chunkIndexType + webSeeds map[string]*Peer // Active peer connections, running message stream loops. TODO: Make this // open (not-closed) connections only. @@ -434,6 +436,7 @@ func (t *Torrent) setInfo(info *metainfo.Info) error { t.nameMu.Lock() t.info = info t.nameMu.Unlock() + t._chunksPerRegularPiece = chunkIndexType((pp.Integer(t.usualPieceSize()) + t.chunkSize - 1) / t.chunkSize) t.updateComplete() t.fileIndex = segments.NewIndex(common.LengthIterFromUpvertedFiles(info.UpvertedFiles())) t.displayName = "" // Save a few bytes lol. @@ -919,7 +922,7 @@ func (t *Torrent) pieceNumChunks(piece pieceIndex) chunkIndexType { } func (t *Torrent) chunksPerRegularPiece() chunkIndexType { - return chunkIndexType((pp.Integer(t.usualPieceSize()) + t.chunkSize - 1) / t.chunkSize) + return t._chunksPerRegularPiece } func (t *Torrent) numRequests() RequestIndex {