Electroneum
nodetool::node_server< t_payload_net_handler > Class Template Reference

#include <net_node.h>

Inheritance diagram for nodetool::node_server< t_payload_net_handler >:
Collaboration diagram for nodetool::node_server< t_payload_net_handler >:

Public Types

typedef t_payload_net_handler payload_net_handler
 

Public Member Functions

 node_server (t_payload_net_handler &payload_handler)
 
virtual ~node_server ()
 
bool run ()
 
network_zone & add_zone (epee::net_utils::zone zone)
 
bool init (const boost::program_options::variables_map &vm)
 
bool deinit ()
 
bool send_stop_signal ()
 
uint32_t get_this_peer_port ()
 
t_payload_net_handler & get_payload_object ()
 
bool log_peerlist ()
 
bool log_connections ()
 
virtual uint64_t get_public_connections_count ()
 
size_t get_public_outgoing_connections_count ()
 
size_t get_public_white_peers_count ()
 
size_t get_public_gray_peers_count ()
 
void get_public_peerlist (std::vector< peerlist_entry > &gray, std::vector< peerlist_entry > &white)
 
size_t get_zone_count () const
 
void change_max_out_public_peers (size_t count)
 
void change_max_in_public_peers (size_t count)
 
virtual bool block_host (const epee::net_utils::network_address &adress, time_t seconds=P2P_IP_BLOCKTIME)
 
virtual bool unblock_host (const epee::net_utils::network_address &address)
 
virtual std::map< std::string, time_t > get_blocked_hosts ()
 
virtual void add_used_stripe_peer (const typename t_payload_net_handler::connection_context &context)
 
virtual void remove_used_stripe_peer (const typename t_payload_net_handler::connection_context &context)
 
virtual void clear_used_stripe_peers ()
 
void set_save_graph (bool save_graph)
 
void set_rpc_port (uint16_t rpc_port)
 
- Public Member Functions inherited from epee::levin::levin_commands_handler< p2p_connection_context_t< t_payload_net_handler::connection_context > >
virtual int invoke (int command, const epee::span< const uint8_t > in_buff, std::string &buff_out, p2p_connection_context_t< t_payload_net_handler::connection_context > &context)=0
 
virtual int notify (int command, const epee::span< const uint8_t > in_buff, p2p_connection_context_t< t_payload_net_handler::connection_context > &context)=0
 
virtual void callback (p2p_connection_context_t< t_payload_net_handler::connection_context > &context)
 
virtual void on_connection_new (p2p_connection_context_t< t_payload_net_handler::connection_context > &context)
 
virtual void on_connection_close (p2p_connection_context_t< t_payload_net_handler::connection_context > &context)
 
virtual ~levin_commands_handler ()
 
- Public Member Functions inherited from nodetool::i_p2p_endpoint< t_payload_net_handler::connection_context >
virtual void for_each_connection (std::function< bool(t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f)=0
 
virtual bool for_connection (const boost::uuids::uuid &, std::function< bool(t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f)=0
 
virtual void add_used_stripe_peer (const t_payload_net_handler::connection_context &context)=0
 
virtual void remove_used_stripe_peer (const t_payload_net_handler::connection_context &context)=0
 

Static Public Member Functions

static void init_options (boost::program_options::options_description &desc)
 

Additional Inherited Members

- Protected Member Functions inherited from epee::net_utils::i_connection_filter
virtual ~i_connection_filter ()
 

Detailed Description

template<class t_payload_net_handler>
class nodetool::node_server< t_payload_net_handler >

Definition at line 117 of file net_node.h.

Member Typedef Documentation

◆ payload_net_handler

template<class t_payload_net_handler>
typedef t_payload_net_handler nodetool::node_server< t_payload_net_handler >::payload_net_handler

Definition at line 210 of file net_node.h.

Constructor & Destructor Documentation

◆ node_server()

template<class t_payload_net_handler>
nodetool::node_server< t_payload_net_handler >::node_server ( t_payload_net_handler &  payload_handler)
inline

Definition at line 212 of file net_node.h.

213  : m_payload_handler(payload_handler),
214  m_external_port(0),
215  m_rpc_port(0),
216  m_allow_local_ip(false),
217  m_hide_my_port(false),
218  m_no_igd(false),
219  m_offline(false),
220  m_save_graph(false),
221  is_closing(false),
222  m_network_id()
223  {}

◆ ~node_server()

template<class t_payload_net_handler>
virtual nodetool::node_server< t_payload_net_handler >::~node_server ( )
virtual

Member Function Documentation

◆ add_used_stripe_peer()

template<class t_payload_net_handler>
virtual void nodetool::node_server< t_payload_net_handler >::add_used_stripe_peer ( const typename t_payload_net_handler::connection_context &  context)
virtual

◆ add_zone()

template<class t_payload_net_handler>
network_zone& nodetool::node_server< t_payload_net_handler >::add_zone ( epee::net_utils::zone  zone)

◆ block_host()

template<class t_payload_net_handler>
virtual bool nodetool::node_server< t_payload_net_handler >::block_host ( const epee::net_utils::network_address adress,
time_t  seconds = P2P_IP_BLOCKTIME 
)
virtual

◆ change_max_in_public_peers()

template<class t_payload_net_handler>
void nodetool::node_server< t_payload_net_handler >::change_max_in_public_peers ( size_t  count)

◆ change_max_out_public_peers()

template<class t_payload_net_handler>
void nodetool::node_server< t_payload_net_handler >::change_max_out_public_peers ( size_t  count)

◆ clear_used_stripe_peers()

template<class t_payload_net_handler>
virtual void nodetool::node_server< t_payload_net_handler >::clear_used_stripe_peers ( )
virtual

◆ deinit()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::deinit ( )

◆ get_blocked_hosts()

template<class t_payload_net_handler>
virtual std::map<std::string, time_t> nodetool::node_server< t_payload_net_handler >::get_blocked_hosts ( )
inlinevirtual

Implements nodetool::i_p2p_endpoint< t_payload_net_handler::connection_context >.

Definition at line 252 of file net_node.h.

252 { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_hosts; }
#define CRITICAL_REGION_LOCAL(x)
Definition: syncobj.h:228
Here is the caller graph for this function:

◆ get_payload_object()

template<class t_payload_net_handler>
t_payload_net_handler& nodetool::node_server< t_payload_net_handler >::get_payload_object ( )

◆ get_public_connections_count()

template<class t_payload_net_handler>
virtual uint64_t nodetool::node_server< t_payload_net_handler >::get_public_connections_count ( )
virtual

Implements nodetool::i_p2p_endpoint< t_payload_net_handler::connection_context >.

Here is the caller graph for this function:

◆ get_public_gray_peers_count()

template<class t_payload_net_handler>
size_t nodetool::node_server< t_payload_net_handler >::get_public_gray_peers_count ( )
Here is the caller graph for this function:

◆ get_public_outgoing_connections_count()

template<class t_payload_net_handler>
size_t nodetool::node_server< t_payload_net_handler >::get_public_outgoing_connections_count ( )
Here is the caller graph for this function:

◆ get_public_peerlist()

template<class t_payload_net_handler>
void nodetool::node_server< t_payload_net_handler >::get_public_peerlist ( std::vector< peerlist_entry > &  gray,
std::vector< peerlist_entry > &  white 
)

◆ get_public_white_peers_count()

template<class t_payload_net_handler>
size_t nodetool::node_server< t_payload_net_handler >::get_public_white_peers_count ( )
Here is the caller graph for this function:

◆ get_this_peer_port()

template<class t_payload_net_handler>
uint32_t nodetool::node_server< t_payload_net_handler >::get_this_peer_port ( )
inline

Definition at line 233 of file net_node.h.

233 {return m_listening_port;}

◆ get_zone_count()

template<class t_payload_net_handler>
size_t nodetool::node_server< t_payload_net_handler >::get_zone_count ( ) const
inlinevirtual

Implements nodetool::i_p2p_endpoint< t_payload_net_handler::connection_context >.

Definition at line 246 of file net_node.h.

246 { return m_network_zones.size(); }

◆ init()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::init ( const boost::program_options::variables_map &  vm)

◆ init_options()

template<class t_payload_net_handler>
static void nodetool::node_server< t_payload_net_handler >::init_options ( boost::program_options::options_description &  desc)
static

◆ log_connections()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::log_connections ( )

◆ log_peerlist()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::log_peerlist ( )

◆ remove_used_stripe_peer()

template<class t_payload_net_handler>
virtual void nodetool::node_server< t_payload_net_handler >::remove_used_stripe_peer ( const typename t_payload_net_handler::connection_context &  context)
virtual

◆ run()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::run ( )

◆ send_stop_signal()

template<class t_payload_net_handler>
bool nodetool::node_server< t_payload_net_handler >::send_stop_signal ( )

◆ set_rpc_port()

template<class t_payload_net_handler>
void nodetool::node_server< t_payload_net_handler >::set_rpc_port ( uint16_t  rpc_port)
inline

Definition at line 407 of file net_node.h.

408  {
409  m_rpc_port = rpc_port;
410  }

◆ set_save_graph()

template<class t_payload_net_handler>
void nodetool::node_server< t_payload_net_handler >::set_save_graph ( bool  save_graph)
inline

Definition at line 401 of file net_node.h.

402  {
403  m_save_graph = save_graph;
405  }
static void set_save_graph(bool save_graph)

◆ unblock_host()

template<class t_payload_net_handler>
virtual bool nodetool::node_server< t_payload_net_handler >::unblock_host ( const epee::net_utils::network_address address)
virtual

The documentation for this class was generated from the following file: