From: Matt Joiner Date: Thu, 26 Jun 2025 08:19:42 +0000 (+1000) Subject: Reuse pp.Message when receiving chunks from webseeds X-Git-Tag: v1.59.0~60 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=30f608beaf92ca68ab5d253aaf28cbd9d1442326;p=btrtrc.git Reuse pp.Message when receiving chunks from webseeds --- diff --git a/webseed-peer.go b/webseed-peer.go index ed49edec..f40e9dbf 100644 --- a/webseed-peer.go +++ b/webseed-peer.go @@ -275,6 +275,9 @@ func (ws *webseedPeer) readChunks(wr *webseedRequest) (err error) { t := ws.peer.t buf := t.getChunkBuffer() defer t.putChunkBuffer(buf) + msg := pp.Message{ + Type: pp.Piece, + } for wr.next < wr.end { reqSpec := t.requestIndexToRequest(wr.next) chunkLen := reqSpec.Length.Int() @@ -287,13 +290,12 @@ func (ws *webseedPeer) readChunks(wr *webseedRequest) (err error) { return } ws.peer.doChunkReadStats(int64(chunkLen)) + // TODO: Clean up the parameters for receiveChunk. + msg.Piece = buf + msg.Index = reqSpec.Index + msg.Begin = reqSpec.Begin ws.peer.locker().Lock() - err = ws.peer.receiveChunk(&pp.Message{ - Type: pp.Piece, - Piece: buf, - Index: reqSpec.Index, - Begin: reqSpec.Begin, - }) + err = ws.peer.receiveChunk(&msg) wr.next++ ws.peer.locker().Unlock() if err != nil {