From 36897d972259d490fd52ed2da54637fb4cab0cd5 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nicolas.pope@utu.fi>
Date: Tue, 10 May 2022 20:27:31 +0100
Subject: [PATCH] Try threaded reconnect

---
 src/universe.cpp | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/universe.cpp b/src/universe.cpp
index bbfdd41..3234336 100644
--- a/src/universe.cpp
+++ b/src/universe.cpp
@@ -444,7 +444,16 @@ void Universe::_periodic() {
 			if (removed) continue;
 		}
 
-		if ((*i).peer->reconnect()) {
+		auto peer = i->peer;
+		_insertPeer(peer);
+		i = reconnects_.erase(i);
+		ftl::pool.push([peer](int id) {
+			if (!peer->reconnect()) {
+				LOG(INFO) << "Reconnect failed";
+			}
+		});
+
+		/*if ((*i).peer->reconnect()) {
 			_insertPeer((*i).peer);
 			i = reconnects_.erase(i);
 		}
@@ -455,7 +464,7 @@ void Universe::_periodic() {
 		 else {
 			garbage_.push_back((*i).peer);
 			i = reconnects_.erase(i);
-		}
+		}*/
 	}
 }
 
-- 
GitLab