From 66d5f33b936f373158ac7310ecf778afe291df2a Mon Sep 17 00:00:00 2001 From: Sergey Kroshnin Date: Tue, 4 Feb 2020 03:51:10 +0300 Subject: [PATCH] Improve initial TCP server keepalive (#2528) Send additional random peers in `nano::network::send_keepalive_self ()` function --- nano/node/network.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nano/node/network.cpp b/nano/node/network.cpp index 3341dcadf..eb07070e1 100644 --- a/nano/node/network.cpp +++ b/nano/node/network.cpp @@ -105,6 +105,9 @@ void nano::network::send_keepalive (std::shared_ptr ch void nano::network::send_keepalive_self (std::shared_ptr channel_a) { nano::keepalive message; + random_fill (message.peers); + // Replace part of message with node external address or listening port + message.peers[1] = nano::endpoint (boost::asio::ip::address_v6{}, 0); // For node v19 (response channels) if (node.config.external_address != boost::asio::ip::address_v6{}.to_string () && node.config.external_port != 0) { message.peers[0] = nano::endpoint (boost::asio::ip::make_address_v6 (node.config.external_address), node.config.external_port);