From 9bfa593eee5a528c70dfaed39feb140a7b10e8b5 Mon Sep 17 00:00:00 2001 From: rfree2monero Date: Wed, 8 Apr 2015 19:54:07 +0200 Subject: [fix] Network 1.8: unlimited the RPC connections works for unit tests build, too --- src/p2p/connection_basic.cpp | 12 ++++++++++++ src/p2p/connection_basic.hpp | 8 ++++++++ src/p2p/net_node.h | 3 ++- 3 files changed, 22 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/p2p/connection_basic.cpp b/src/p2p/connection_basic.cpp index ed15c0986..0454f30e3 100644 --- a/src/p2p/connection_basic.cpp +++ b/src/p2p/connection_basic.cpp @@ -94,6 +94,18 @@ namespace epee namespace net_utils { + std::string to_string(t_connection_type type) + { + if (type == e_connection_type_NET) + return std::string("NET"); + else if (type == e_connection_type_RPC) + return std::string("RPC"); + else if (type == e_connection_type_P2P) + return std::string("P2P"); + + return std::string("UNKNOWN"); + } + /* ============================================================================ */ diff --git a/src/p2p/connection_basic.hpp b/src/p2p/connection_basic.hpp index e9fdc3add..d8101afe4 100644 --- a/src/p2p/connection_basic.hpp +++ b/src/p2p/connection_basic.hpp @@ -75,6 +75,14 @@ namespace net_utils class connection_basic_pimpl; // PIMPL for this class + enum t_connection_type { // type of the connection (of this server), e.g. so that we will know how to limit it + e_connection_type_NET = 0, // default (not used?) + e_connection_type_RPC = 1, // the rpc commands (probably not rate limited, not chunked, etc) + e_connection_type_P2P = 2 // to other p2p node (probably limited) + }; + + std::string to_string(t_connection_type type); + class connection_basic { // not-templated base class for rapid developmet of some code parts public: std::unique_ptr< connection_basic_pimpl > mI; // my Implementation diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h index d956b37f0..f86a4f97b 100644 --- a/src/p2p/net_node.h +++ b/src/p2p/net_node.h @@ -84,7 +84,8 @@ namespace nodetool :m_payload_handler(payload_handler), m_allow_local_ip(false), m_no_igd(false), - m_hide_my_port(false) + m_hide_my_port(false), + m_net_server( epee::net_utils::e_connection_type_P2P ) // this is a P2P connection of the main p2p node server, because this is class node_server<> { m_current_number_of_out_peers = 0; m_save_graph = false; -- cgit v1.2.3