requesting.go | 13 +++++++------ diff --git a/requesting.go b/requesting.go index ece5dc398797cd92bc6956084299e6711443c2a3..3c204b843cb5e6ec0431e219f01076874243079e 100644 --- a/requesting.go +++ b/requesting.go @@ -184,22 +184,23 @@ Interested bool } func (p *Peer) getDesiredRequestState() (desired desiredRequestState) { - if !p.t.haveInfo() { + t := p.t + if !t.haveInfo() { return } - if p.t.closed.IsSet() { + if t.closed.IsSet() { return } - input := p.t.getRequestStrategyInput() + input := t.getRequestStrategyInput() requestHeap := desiredPeerRequests{ peer: p, pieceStates: make(map[pieceIndex]request_strategy.PieceRequestOrderState), } request_strategy.GetRequestablePieces( input, - p.t.getPieceRequestOrder(), + t.getPieceRequestOrder(), func(ih InfoHash, pieceIndex int, pieceExtra request_strategy.PieceRequestOrderState) { - if ih != p.t.infoHash { + if ih != t.infoHash { return } if !p.peerHasPiece(pieceIndex) { @@ -231,7 +232,7 @@ requestHeap.pieceStates[pieceIndex] = pieceExtra }) }, ) - p.t.assertPendingRequests() + t.assertPendingRequests() desired.Requests = requestHeap return }