aboutsummaryrefslogtreecommitdiff
path: root/src/p2p
diff options
context:
space:
mode:
Diffstat (limited to 'src/p2p')
-rw-r--r--src/p2p/net_node.h4
-rw-r--r--src/p2p/net_node.inl6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h
index 5f471ad55..423e2607e 100644
--- a/src/p2p/net_node.h
+++ b/src/p2p/net_node.h
@@ -110,15 +110,17 @@ namespace nodetool
template<class base_type>
struct p2p_connection_context_t: base_type //t_payload_net_handler::connection_context //public net_utils::connection_context_base
{
- p2p_connection_context_t()
+ explicit p2p_connection_context_t(bool is_ping = false)
: peer_id(0),
support_flags(0),
+ is_ping(is_ping),
m_in_timedsync(false)
{}
peerid_type peer_id;
uint32_t support_flags;
bool m_in_timedsync;
+ bool is_ping;
std::set<epee::net_utils::network_address> sent_addresses;
};
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
index 51cf48cb4..6a68790fd 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
@@ -1062,7 +1062,7 @@ namespace nodetool
{
++number_of_in_peers;
}
- else
+ else if (!cntxt.is_ping)
{
++number_of_out_peers;
}
@@ -1973,7 +1973,7 @@ namespace nodetool
size_t count = 0;
zone.m_net_server.get_config_object().foreach_connection([&](const p2p_connection_context& cntxt)
{
- if(!cntxt.m_is_income)
+ if(!cntxt.m_is_income && !cntxt.is_ping)
++count;
return true;
});
@@ -2454,7 +2454,7 @@ namespace nodetool
return false;
}
return true;
- }, "0.0.0.0", m_ssl_support);
+ }, "0.0.0.0", m_ssl_support, p2p_connection_context{true /* is_ping */});
if(!r)
{
LOG_WARNING_CC(context, "Failed to call connect_async, network error.");