diff --git a/libi2pd_client/Torrents.cpp b/libi2pd_client/Torrents.cpp index 19cc309a..365165c3 100644 --- a/libi2pd_client/Torrents.cpp +++ b/libi2pd_client/Torrents.cpp @@ -882,7 +882,7 @@ namespace torrents if (s->m_IncomingRequestsQueue.empty ()) s->SendRequestedBlock (requestedBlock); else - s->m_IncomingRequestsQueue.push_back (requestedBlock); + s->m_IncomingRequestsQueue.emplace_back (std::move (requestedBlock)); }); } piece.SetIsSending (false); diff --git a/libi2pd_client/Torrents.h b/libi2pd_client/Torrents.h index a3cfe7b6..6e0fc9f1 100644 --- a/libi2pd_client/Torrents.h +++ b/libi2pd_client/Torrents.h @@ -167,6 +167,9 @@ namespace torrents struct RequestedBlock { uint32_t index, offset, length; + RequestedBlock (uint32_t i, uint32_t o, uint32_t l): index(i), offset(0), length (l) {} + RequestedBlock(const RequestedBlock& ) = default; + RequestedBlock(RequestedBlock&& ) = default; }; public: