client.go | 2 ++ request-strategy.go | 3 ++- diff --git a/client.go b/client.go index 3e899549d7c5c1215791c653918213a6a22cbb55..e5915c1f4f7597ced2d752eb1056bd234fa7ab24 100644 --- a/client.go +++ b/client.go @@ -81,6 +81,8 @@ websocketTrackers websocketTrackers activeAnnounceLimiter limiter.Instance + + pieceRequestOrder clientPieceRequestOrder } type ipStr string diff --git a/request-strategy.go b/request-strategy.go index c373be7abe9416833594be4f37e4f478d7477b50..4bce332168ddd2c717b8061d3da9ecf055adfd79 100644 --- a/request-strategy.go +++ b/request-strategy.go @@ -87,7 +87,8 @@ } } func (cl *Client) doRequests() { - requestOrder := clientPieceRequestOrder{} + requestOrder := &cl.pieceRequestOrder + requestOrder.pieces = requestOrder.pieces[:0] allPeers := make(map[*Torrent][]*Peer) // Storage capacity left for this run, keyed by the storage capacity pointer on the storage // TorrentImpl.