From 34908d573f1df3ae7083459fd814e4ff7bd63fda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= Date: Wed, 8 Feb 2017 14:13:46 -0500 Subject: [PATCH] network engine: use make_shared --- src/network_engine.cpp | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/network_engine.cpp b/src/network_engine.cpp index aeaf8925..37049905 100644 --- a/src/network_engine.cpp +++ b/src/network_engine.cpp @@ -650,8 +650,8 @@ NetworkEngine::sendPing(Sp node, RequestCb&& on_done, RequestExpiredCb&& o pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, node, std::move(b), + auto req = std::make_shared(tid, node, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&&) { DHT_LOG.d(req_status.node->id, "[node %s] got pong !", req_status.node->toString().c_str()); if (on_done) { @@ -663,7 +663,7 @@ NetworkEngine::sendPing(Sp node, RequestCb&& on_done, RequestExpiredCb&& o on_expired(req_status, done); } } - }); + ); sendRequest(req); ++out_stats.ping; return req; @@ -717,8 +717,8 @@ NetworkEngine::sendFindNode(Sp n, const InfoHash& target, want_t want, pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, n, std::move(b), + auto req = std::make_shared(tid, n, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&& msg) { /* on done */ if (on_done) { on_done(req_status, {std::forward(msg)}); @@ -729,7 +729,7 @@ NetworkEngine::sendFindNode(Sp n, const InfoHash& target, want_t want, on_expired(req_status, done); } } - }); + ); sendRequest(req); ++out_stats.find; return req; @@ -766,8 +766,8 @@ NetworkEngine::sendGetValues(Sp n, const InfoHash& info_hash, const Query& pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, n, std::move(b), + auto req = std::make_shared(tid, n, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&& msg) { /* on done */ if (on_done) { on_done(req_status, {std::forward(msg)}); @@ -778,7 +778,7 @@ NetworkEngine::sendGetValues(Sp n, const InfoHash& info_hash, const Query& on_expired(req_status, done); } } - }); + ); sendRequest(req); ++out_stats.get; return req; @@ -1045,8 +1045,8 @@ NetworkEngine::sendListen(Sp n, pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, n, std::move(b), + auto req = std::make_shared(tid, n, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&& msg) { /* on done */ if (on_done) on_done(req_status, {std::forward(msg)}); @@ -1056,7 +1056,7 @@ NetworkEngine::sendListen(Sp n, on_expired(req_status, done); }, socket - }); + ); sendRequest(req); ++out_stats.listen; return req; @@ -1116,8 +1116,8 @@ NetworkEngine::sendAnnounceValue(Sp n, pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, n, std::move(b), + auto req = std::make_shared(tid, n, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&& msg) { /* on done */ if (msg.value_id == Value::INVALID_ID) { DHT_LOG.d(infohash, "Unknown search or announce!"); @@ -1134,7 +1134,7 @@ NetworkEngine::sendAnnounceValue(Sp n, on_expired(req_status, done); } } - }); + ); sendRequest(req); if (not v.empty()) sendValueParts(tid, v, n->addr); @@ -1170,8 +1170,8 @@ NetworkEngine::sendRefreshValue(Sp n, pk.pack(std::string("n")); pk.pack(network); } - Blob b {buffer.data(), buffer.data() + buffer.size()}; - Sp req(new Request {tid, n, std::move(b), + auto req = std::make_shared(tid, n, + Blob(buffer.data(), buffer.data() + buffer.size()), [=](const Request& req_status, ParsedMessage&& msg) { /* on done */ if (msg.value_id == Value::INVALID_ID) { DHT_LOG.d(infohash, "Unknown search or announce!"); @@ -1188,11 +1188,10 @@ NetworkEngine::sendRefreshValue(Sp n, on_expired(req_status, done); } } - }); + ); sendRequest(req); ++out_stats.refresh; return req; - } void @@ -1432,9 +1431,9 @@ ParsedMessage::msgpack_unpack(msgpack::object msg) void NetworkEngine::maintainRxBuffer(const TransId& tid) { - const auto& now = scheduler.time(); auto msg = partial_messages.find(tid); if (msg != partial_messages.end()) { + const auto& now = scheduler.time(); if (msg->second.start + RX_MAX_PACKET_TIME < now || msg->second.last_part + RX_TIMEOUT < now) { DHT_LOG.w("Dropping expired partial message from %s", msg->second.from.toString().c_str());