From 0d655befa5e276248f02091de07438ed095c971f Mon Sep 17 00:00:00 2001 From: orignal Date: Wed, 9 Sep 2026 18:09:51 -0400 Subject: [PATCH] respond with reject request if piece load failed --- libi2pd_client/Torrents.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libi2pd_client/Torrents.cpp b/libi2pd_client/Torrents.cpp index bda3d3cd..0dcd6212 100644 --- a/libi2pd_client/Torrents.cpp +++ b/libi2pd_client/Torrents.cpp @@ -1647,15 +1647,18 @@ namespace torrents boost::asio::post (s->GetTorrentsTunnel ()->GetService (), [requestedBlock = std::move (requestBlock), s]() { - if (s->m_NumPieces < MAX_NUM_PIECES) - s->SendRequestedBlock (requestedBlock); - else - s->m_IncomingRequestsQueue.emplace_back (std::move (requestedBlock)); + s->SendRequestedBlock (requestedBlock); }); else { LogPrint (eLogError, "Torrent: Failed to load piece ", index); piece.Reset (); + if (s->m_IsFast) + boost::asio::post (s->GetTorrentsTunnel ()->GetService (), + [requestedBlock = std::move (requestBlock), s]() + { + std::apply (std::bind_front(&PeerConnection::SendRejectRequestMsg, s), requestedBlock); + }); } }); }