From 679ac3badb593ce8cc4f4a8b88cc51a7773a7a25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 13 Oct 2017 14:40:01 +0200
Subject: [PATCH] tcp

---
 src/network_engine.cpp | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/network_engine.cpp b/src/network_engine.cpp
index a01c13fb..e812f3cd 100644
--- a/src/network_engine.cpp
+++ b/src/network_engine.cpp
@@ -180,7 +180,7 @@ NetworkEngine::requestStep(Sp<Request> sreq)
     }
     // UDP
     std::weak_ptr<Request> wreq = sreq;
-    auto err = send(req.msg, 0, node.getAddr(), [this,wreq](int status) {
+    auto err = send(req.msg, 0, node, [this,wreq](int status) {
         if (auto req = wreq.lock()) {
             if (status >= 0) {
                 ++req->attempt_count;
@@ -471,7 +471,7 @@ Sp<Node>
 NetworkEngine::process(std::unique_ptr<ParsedMessage>&& msg, const SockAddr& from, const Sp<TcpSocket>& tcpsock)
 {
     const auto& now = scheduler.time();
-    auto node = cache.getNode(msg->id, from, now, tcpsock, true, msg->is_client);
+    auto node = cache.getNode(msg->id, from, tcpsock, now, true, msg->is_client);
 
     if (msg->type == MessageType::Error or msg->type == MessageType::Reply) {
         auto rsocket = node->getSocket(msg->tid.toInt());
@@ -489,7 +489,7 @@ NetworkEngine::process(std::unique_ptr<ParsedMessage>&& msg, const SockAddr& fro
                 if (not node->isClient())
                     onNewNode(node, 1);
                 DHT_LOG.e(node->id, "[node %s] Can't find transaction", node->toString().c_str());
-                return;
+                return node;
             }
         }
         node->update(from, tcpsock);
@@ -669,7 +669,7 @@ NetworkEngine::send(msgpack::sbuffer& msg, const Node& node, const Sp<TcpSocket>
         return node.sock->write(data, size);
     } else {
         DHT_LOG.d(node.id, "[node %s] send (datagram) %lu", node.getId().to_c_str(), msg.size());
-        return sock->send(data, size, node.addr);
+        return sock->send(data, size, node.getAddr());
     }
 }
 
@@ -708,7 +708,7 @@ NetworkEngine::send(const Blob& msg, int /*flags*/, const Node& node, UdpSocket:
         return node.sock->write(data, size);
     } else {
         DHT_LOG.d(node.id, "[node %s] send (datagram) %lu", node.getId().to_c_str(), msg.size());
-        return sock->send(data, size, node.addr, std::move(cb));
+        return sock->send(data, size, node.getAddr(), std::move(cb));
     }
 }
 
@@ -758,7 +758,7 @@ NetworkEngine::sendPong(const Sp<Node>& node, TransId tid) {
 
     pk.pack(std::string("r")); pk.pack_map(2);
       pk.pack(std::string("id")); pk.pack(getNodeId());
-      insertAddr(pk, node->addr);
+      insertAddr(pk, node->getAddress());
 
     pk.pack(std::string("t")); pk.pack_bin(tid.size());
                                pk.pack_bin_body((const char*)tid.data(), tid.size());
@@ -988,7 +988,7 @@ NetworkEngine::sendNodesValues(const Sp<Node>& node, TransId tid, const Blob& no
     pk.pack(std::string("r"));
     pk.pack_map(2 + (not st.empty()?1:0) + (nodes.size()>0?1:0) + (nodes6.size()>0?1:0) + (not token.empty()?1:0));
     pk.pack(std::string("id")); pk.pack(getNodeId());
-    insertAddr(pk, node->addr);
+    insertAddr(pk, node->getAddress());
     if (nodes.size() > 0) {
         pk.pack(std::string("n4"));
         pk.pack_bin(nodes.size());
@@ -1032,7 +1032,7 @@ NetworkEngine::sendNodesValues(const Sp<Node>& node, TransId tid, const Blob& no
 
     // send parts
     if (not svals.empty())
-        sendValueParts(tid, svals, node->addr);
+        sendValueParts(tid, svals, node->getAddress());
 }
 
 Blob
@@ -1098,7 +1098,7 @@ NetworkEngine::sendListen(const Sp<Node>& n,
     //n->startTcp(scheduler.getLoop());
     if (not n->sock) {
         n->sock = std::make_shared<TcpSocket>(scheduler.getLoop());
-        n->sock->connect(n->addr.get(), [this,n](int status){
+        n->sock->connect(n->getAddr().get(), [this,n](int status){
             if (status == 0)
                 startTcp(n->sock, n);
         });
@@ -1169,7 +1169,7 @@ NetworkEngine::sendListenConfirmation(const Sp<Node>& node, TransId tid) {
 
     pk.pack(std::string("r")); pk.pack_map(2);
       pk.pack(std::string("id")); pk.pack(getNodeId());
-      insertAddr(pk, node->addr);
+      insertAddr(pk, node->getAddress());
 
     pk.pack(std::string("t")); pk.pack_bin(tid.size());
                                pk.pack_bin_body((const char*)tid.data(), tid.size());
@@ -1302,7 +1302,7 @@ NetworkEngine::sendValueAnnounced(const Sp<Node>& node, TransId tid, Value::Id v
     pk.pack(std::string("r")); pk.pack_map(3);
       pk.pack(std::string("id"));  pk.pack(getNodeId());
       pk.pack(std::string("vid")); pk.pack(vid);
-      insertAddr(pk, node->addr);
+      insertAddr(pk, node->getAddress());
 
     pk.pack(std::string("t")); pk.pack_bin(tid.size());
                                pk.pack_bin_body((const char*)tid.data(), tid.size());
-- 
GitLab