diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.cpp 2026-09-09 22:09:51.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.cpp 2026-09-09 21:59:57.000000000 +0000 @@ -1648,5 +1648,8 @@ [requestedBlock = std::move (requestBlock), s]() { - s->SendRequestedBlock (requestedBlock); + if (s->m_NumPieces < MAX_NUM_PIECES) + s->SendRequestedBlock (requestedBlock); + else + s->m_IncomingRequestsQueue.emplace_back (std::move (requestedBlock)); }); else @@ -1654,10 +1657,4 @@ 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); - }); } });