make handler exchange without copy->clone mem allocation (#1583)

make uTP handler exchange without copy->clone mem allocation
This commit is contained in:
Andrei Kurushin 2017-01-21 03:03:20 +03:00 committed by Arvid Norberg
parent 202386dd9d
commit fffdd4703d
1 changed files with 3 additions and 3 deletions

View File

@ -898,7 +898,7 @@ void utp_stream::on_read(void* self, size_t bytes_transferred
TORRENT_ASSERT(s->m_read_handler); TORRENT_ASSERT(s->m_read_handler);
TORRENT_ASSERT(bytes_transferred > 0 || ec || s->m_impl->m_null_buffers); TORRENT_ASSERT(bytes_transferred > 0 || ec || s->m_impl->m_null_buffers);
s->m_io_service.post(std::bind<void>(s->m_read_handler, ec, bytes_transferred)); s->m_io_service.post(std::bind<void>(std::move(s->m_read_handler), ec, bytes_transferred));
s->m_read_handler = nullptr; s->m_read_handler = nullptr;
if (kill && s->m_impl) if (kill && s->m_impl)
{ {
@ -919,7 +919,7 @@ void utp_stream::on_write(void* self, size_t bytes_transferred
TORRENT_ASSERT(s->m_write_handler); TORRENT_ASSERT(s->m_write_handler);
TORRENT_ASSERT(bytes_transferred > 0 || ec); TORRENT_ASSERT(bytes_transferred > 0 || ec);
s->m_io_service.post(std::bind<void>(s->m_write_handler, ec, bytes_transferred)); s->m_io_service.post(std::bind<void>(std::move(s->m_write_handler), ec, bytes_transferred));
s->m_write_handler = nullptr; s->m_write_handler = nullptr;
if (kill && s->m_impl) if (kill && s->m_impl)
{ {
@ -938,7 +938,7 @@ void utp_stream::on_connect(void* self, error_code const& ec, bool kill)
, static_cast<void*>(s->m_impl), ec.message().c_str(), kill); , static_cast<void*>(s->m_impl), ec.message().c_str(), kill);
TORRENT_ASSERT(s->m_connect_handler); TORRENT_ASSERT(s->m_connect_handler);
s->m_io_service.post(std::bind<void>(s->m_connect_handler, ec)); s->m_io_service.post(std::bind<void>(std::move(s->m_connect_handler), ec));
s->m_connect_handler = nullptr; s->m_connect_handler = nullptr;
if (kill && s->m_impl) if (kill && s->m_impl)
{ {