]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix BenchmarkUpdatePiecePriorities
authorMatt Joiner <anacrolix@gmail.com>
Wed, 15 Dec 2021 08:09:22 +0000 (19:09 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 16 Dec 2021 03:00:19 +0000 (14:00 +1100)
torrent-piece-request-order.go
torrent.go
torrent_test.go

index 7b1ef97855b2cf66225b5b383b86c9478eec2d40..86c9839893b313a52e7c201c5e24af6293864bfb 100644 (file)
@@ -5,6 +5,9 @@ import (
 )
 
 func (t *Torrent) updatePieceRequestOrder(pieceIndex int) {
+       if t.storage == nil {
+               return
+       }
        t.cl.pieceRequestOrder[t.clientPieceRequestOrderKey()].Update(
                t.pieceRequestOrderKey(pieceIndex),
                t.requestStrategyPieceOrderState(pieceIndex))
@@ -18,6 +21,9 @@ func (t *Torrent) clientPieceRequestOrderKey() interface{} {
 }
 
 func (t *Torrent) deletePieceRequestOrder() {
+       if t.storage == nil {
+               return
+       }
        cpro := t.cl.pieceRequestOrder
        key := t.clientPieceRequestOrderKey()
        pro := cpro[key]
@@ -30,6 +36,9 @@ func (t *Torrent) deletePieceRequestOrder() {
 }
 
 func (t *Torrent) initPieceRequestOrder() {
+       if t.storage == nil {
+               return
+       }
        if t.cl.pieceRequestOrder == nil {
                t.cl.pieceRequestOrder = make(map[interface{}]*request_strategy.PieceRequestOrder)
        }
@@ -41,6 +50,9 @@ func (t *Torrent) initPieceRequestOrder() {
 }
 
 func (t *Torrent) addRequestOrderPiece(i int) {
+       if t.storage == nil {
+               return
+       }
        t.cl.pieceRequestOrder[t.clientPieceRequestOrderKey()].Add(
                t.pieceRequestOrderKey(i),
                t.requestStrategyPieceOrderState(i))
index 5c8dca25d58db702d5eba5e4cb5c0b663c565d44..9db3a79434fa0d133ac804c150252b537e054476 100644 (file)
@@ -243,6 +243,9 @@ func (t *Torrent) pieceComplete(piece pieceIndex) bool {
 }
 
 func (t *Torrent) pieceCompleteUncached(piece pieceIndex) storage.Completion {
+       if t.storage == nil {
+               return storage.Completion{Complete: false, Ok: true}
+       }
        return t.pieces[piece].Storage().Completion()
 }
 
index 2b96f19157421ebab0c5eb8979bd8b44bb4e2774..38ea3d868499ff5541737da3a4091a4490e9fcc2 100644 (file)
@@ -89,6 +89,7 @@ func BenchmarkUpdatePiecePriorities(b *testing.B) {
                PieceLength: pieceLength,
                Length:      pieceLength * numPieces,
        }))
+       t.onSetInfo()
        assert.EqualValues(b, 13410, t.numPieces())
        for i := 0; i < 7; i += 1 {
                r := t.NewReader()