Electroneum
Namespaces | Macros | Functions | Variables
net_node.inl File Reference
#include <algorithm>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread/thread.hpp>
#include <atomic>
#include "version.h"
#include "string_tools.h"
#include "common/util.h"
#include "common/dns_utils.h"
#include "net/net_helper.h"
#include "math_helper.h"
#include "p2p_protocol_defs.h"
#include "net_peerlist_boost_serialization.h"
#include "net/local_ip.h"
#include "crypto/crypto.h"
#include "storages/levin_abstract_invoke2.h"
#include "miniupnpc.h"
#include "upnpcommands.h"
#include "upnperrors.h"
Include dependency graph for net_node.inl:
This graph shows which files directly or indirectly include this file:

Namespaces

 nodetool
 
 nodetool::anonymous_namespace{net_node.inl}
 

Macros

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "net.p2p"
 
#define NET_MAKE_IP(b1, b2, b3, b4)   ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
 
#define MIN_WANTED_SEED_NODES   9
 
#define LOG_PRINT_CC_PRIORITY_NODE(priority, con, msg)
 

Functions

void nodetool::append_net_address (std::vector< epee::net_utils::network_address > &seed_nodes, std::string const &addr)
 

Variables

const int64_t nodetool::anonymous_namespace{net_node.inl}::default_limit_up = 2048
 
const int64_t nodetool::anonymous_namespace{net_node.inl}::default_limit_down = 8192
 
const command_line::arg_descriptor< std::string > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_bind_ip = {"p2p-bind-ip", "Interface for p2p network protocol", "0.0.0.0"}
 
const command_line::arg_descriptor< std::string > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_bind_port
 
const command_line::arg_descriptor< std::string > nodetool::anonymous_namespace{net_node.inl}::arg_testnet_p2p_bind_port
 
const command_line::arg_descriptor< uint32_t > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_external_port = {"p2p-external-port", "External port for p2p network protocol (if port forwarding used with NAT)", 0}
 
const command_line::arg_descriptor< boolnodetool::anonymous_namespace{net_node.inl}::arg_p2p_allow_local_ip = {"allow-local-ip", "Allow local ip add to peer list, mostly in debug purposes"}
 
const command_line::arg_descriptor< std::vector< std::string > > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_add_peer = {"add-peer", "Manually add peer to local peerlist"}
 
const command_line::arg_descriptor< std::vector< std::string > > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_add_priority_node = {"add-priority-node", "Specify list of peers to connect to and attempt to keep the connection open"}
 
const command_line::arg_descriptor< std::vector< std::string > > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_add_exclusive_node
 
const command_line::arg_descriptor< std::vector< std::string > > nodetool::anonymous_namespace{net_node.inl}::arg_p2p_seed_node = {"seed-node", "Connect to a node to retrieve peer addresses, and disconnect"}
 
const command_line::arg_descriptor< boolnodetool::anonymous_namespace{net_node.inl}::arg_p2p_hide_my_port = {"hide-my-port", "Do not announce yourself as peerlist candidate", false, true}
 
const command_line::arg_descriptor< boolnodetool::anonymous_namespace{net_node.inl}::arg_no_igd = {"no-igd", "Disable UPnP port mapping"}
 
const command_line::arg_descriptor< boolnodetool::anonymous_namespace{net_node.inl}::arg_offline = {"offline", "Do not listen for peers, nor connect to any"}
 
const command_line::arg_descriptor< int64_t > nodetool::anonymous_namespace{net_node.inl}::arg_out_peers = {"out-peers", "set max number of out peers", -1}
 
const command_line::arg_descriptor< int > nodetool::anonymous_namespace{net_node.inl}::arg_tos_flag = {"tos-flag", "set TOS flag", -1}
 
const command_line::arg_descriptor< int64_t > nodetool::anonymous_namespace{net_node.inl}::arg_limit_rate_up = {"limit-rate-up", "set limit-rate-up [kB/s]", -1}
 
const command_line::arg_descriptor< int64_t > nodetool::anonymous_namespace{net_node.inl}::arg_limit_rate_down = {"limit-rate-down", "set limit-rate-down [kB/s]", -1}
 
const command_line::arg_descriptor< int64_t > nodetool::anonymous_namespace{net_node.inl}::arg_limit_rate = {"limit-rate", "set limit-rate [kB/s]", -1}
 
const command_line::arg_descriptor< boolnodetool::anonymous_namespace{net_node.inl}::arg_save_graph = {"save-graph", "Save data for dr electroneum", false}
 

Macro Definition Documentation

◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "net.p2p"

◆ LOG_PRINT_CC_PRIORITY_NODE

#define LOG_PRINT_CC_PRIORITY_NODE (   priority,
  con,
  msg 
)
Value:
do { \
if (priority) {\
LOG_INFO_CC(con, "[priority]" << msg); \
} else {\
LOG_INFO_CC(con, msg); \
} \
} while(0)

◆ MIN_WANTED_SEED_NODES

#define MIN_WANTED_SEED_NODES   9

◆ NET_MAKE_IP

#define NET_MAKE_IP (   b1,
  b2,
  b3,
  b4 
)    ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))