42 #ifndef INCLUDED_p2p_connection_basic_hpp 43 #define INCLUDED_p2p_connection_basic_hpp 46 #include <boost/asio.hpp> 49 #include <boost/noncopyable.hpp> 50 #include <boost/shared_ptr.hpp> 53 #include <boost/asio.hpp> 54 #include <boost/array.hpp> 55 #include <boost/noncopyable.hpp> 56 #include <boost/shared_ptr.hpp> 57 #include <boost/enable_shared_from_this.hpp> 58 #include <boost/interprocess/detail/atomic.hpp> 59 #include <boost/thread/thread.hpp> 63 #include "net/net_utils_base.h" 76 class connection_basic_pimpl;
88 std::unique_ptr< connection_basic_pimpl >
mI;
105 connection_basic(boost::asio::io_service& io_service, std::atomic<long> &ref_sock_count, std::atomic<long> &sock_number);
double m_start_time
Definition: connection_basic.hpp:96
void logger_handle_net_write(size_t size)
Definition: connection_basic.cpp:281
static uint64_t get_rate_down_limit()
Definition: connection_basic.cpp:211
Definition: unordered_containers_boost_serialization.h:38
critical_section m_send_que_lock
Definition: connection_basic.hpp:93
std::unique_ptr< connection_basic_pimpl > mI
Definition: connection_basic.hpp:88
static void set_tos_flag(int tos)
Definition: connection_basic.cpp:223
boost::asio::ip::tcp::socket socket_
Socket for the connection.
Definition: connection_basic.hpp:100
void set_start_time()
Definition: connection_basic.cpp:260
void sleep_before_packet(size_t packet_size, int phase, int q_len)
Definition: connection_basic.cpp:231
std::atomic< long > & m_ref_sock_count
Definition: connection_basic.hpp:102
void do_send_handler_write(const void *ptr, size_t cb)
Definition: connection_basic.cpp:265
static void set_save_graph(bool save_graph)
Definition: connection_basic.cpp:290
static void save_limit_to_file(int limit)
for dr-electroneum
Definition: connection_basic.cpp:220
volatile uint32_t m_want_close_connection
Definition: connection_basic.hpp:91
static void set_rate_up_limit(uint64_t limit)
Definition: connection_basic.cpp:176
void do_send_handler_write_from_queue(const boost::system::error_code &e, size_t cb, int q_len)
Definition: connection_basic.cpp:271
volatile bool m_is_multithreaded
Definition: connection_basic.hpp:95
std::list< std::string > m_send_que
Definition: connection_basic.hpp:94
Definition: connection_basic.hpp:81
type
Definition: json.h:74
#define false
Definition: stdbool.h:38
void logger_handle_net_read(size_t size)
Definition: connection_basic.cpp:278
boost::asio::io_service::strand strand_
Strand to ensure the connection's handlers are not called concurrently.
Definition: connection_basic.hpp:98
static int get_tos_flag()
Definition: connection_basic.cpp:227
virtual ~connection_basic() noexcept(false)
Definition: connection_basic.cpp:169
Definition: connection_basic.cpp:91
connection_basic(boost::asio::io_service &io_service, std::atomic< long > &ref_sock_count, std::atomic< long > &sock_number)
Definition: connection_basic.cpp:150
Definition: connection_basic.hpp:80
static void set_rate_down_limit(uint64_t limit)
Definition: connection_basic.cpp:189
t_connection_type
Definition: connection_basic.hpp:78
std::string to_string(t_connection_type type)
Definition: connection_basic.cpp:96
Definition: connection_basic.hpp:79
std::atomic< bool > m_was_shutdown
Definition: connection_basic.hpp:92
static double get_sleep_time(size_t cb)
Definition: connection_basic.cpp:284
static uint64_t get_rate_up_limit()
Definition: connection_basic.cpp:202
Definition: connection_basic.hpp:86