if t.storage == nil {
return
}
- t.cl.pieceRequestOrder[t.clientPieceRequestOrderKey()].Update(
- t.pieceRequestOrderKey(pieceIndex),
- t.requestStrategyPieceOrderState(pieceIndex))
+ if ro, ok := t.cl.pieceRequestOrder[t.clientPieceRequestOrderKey()]; ok {
+ ro.Update(
+ t.pieceRequestOrderKey(pieceIndex),
+ t.requestStrategyPieceOrderState(pieceIndex))
+ }
}
func (t *Torrent) clientPieceRequestOrderKey() interface{} {
key := t.clientPieceRequestOrderKey()
cpro := t.cl.pieceRequestOrder
if cpro[key] == nil {
- cpro[key] = request_strategy.NewPieceOrder(request_strategy.NewTidwallBtree(), t.numPieces())
+ cpro[key] = request_strategy.NewPieceOrder(request_strategy.NewAjwernerBtree(), t.numPieces())
}
}