From 30f608beaf92ca68ab5d253aaf28cbd9d1442326 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 26 Jun 2025 18:19:42 +1000 Subject: [PATCH] Reuse pp.Message when receiving chunks from webseeds --- webseed-peer.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 { -- 2.51.0