35#include <boost/uuid/uuid_io.hpp>
151 conn_id = boost::uuids::nil_uuid();
159 LOG_PRINT_L0(
"ERROR: connections overflow");
183 LOG_PRINT_L0(
"Not enough opened connections");
188 LOG_PRINT_L0(
"Connection isn't opened");
193 LOG_PRINT_L0(
"Close connection error: " <<
m_connections[idx]);
194 if (!ignore_close_fails)
288 std::stringstream ss;
the connection templated-class for one peer connection
A partial drop-in replacement for std::ostream.
Definition byte_stream.h:58
Definition levin_protocol_handler_async.h:81
Definition levin_protocol_handler_async.h:135
Definition abstract_tcp_server2.h:347
Represents a single connection from a client.
Definition abstract_tcp_server2.h:100
Non-owning sequence of data. Does not deep copy.
Definition span.h:55
std::atomic< size_t > m_next_opened_conn_idx
Definition net_load_tests.h:211
std::atomic< size_t > m_opened_connection_count
Definition net_load_tests.h:210
test_tcp_server & m_tcp_server
Definition net_load_tests.h:208
size_t opened_connection_count() const
Definition net_load_tests.h:205
void close_remaining_connections()
Definition net_load_tests.h:173
std::atomic< size_t > m_next_closed_conn_idx
Definition net_load_tests.h:212
bool close_next_connection(bool ignore_close_fails)
Definition net_load_tests.h:178
open_close_test_helper(test_tcp_server &tcp_server, size_t open_request_target, size_t max_opened_connection_count)
Definition net_load_tests.h:142
std::vector< boost::uuids::uuid > m_connections
Definition net_load_tests.h:213
bool handle_new_connection(const boost::uuids::uuid &connection_id, bool ignore_close_fails=false)
Definition net_load_tests.h:154
size_t m_max_opened_connection_count
Definition net_load_tests.h:209
Definition unit_tests_utils.h:41
#define KV_SERIALIZE(varialble)
Definition keyvalue_serialization.h:120
#define END_KV_SERIALIZE_MAP()
Definition keyvalue_serialization.h:118
#define BEGIN_KV_SERIALIZE_MAP()
Definition keyvalue_serialization.h:43
#define LEVIN_DEFAULT_MAX_PACKET_SIZE
Definition levin_base.h:77
#define LEVIN_OK
Definition levin_base.h:102
Definition portable_binary_archive.hpp:29
TODO: (mj-xmr) This will be reduced in an another PR.
Definition byte_slice.h:40
Definition net_load_tests.h:46
const std::string clt_port("36230")
const std::string srv_port("36231")
const unsigned int min_thread_count
Definition net_load_tests.h:216
epee::levin::async_protocol_handler_config< test_connection_context > test_levin_protocol_handler_config
Definition net_load_tests.h:57
epee::net_utils::connection< test_levin_protocol_handler > test_connection
Definition net_load_tests.h:58
epee::levin::async_protocol_handler< test_connection_context > test_levin_protocol_handler
Definition net_load_tests.h:56
command_ids
Definition net_load_tests.h:221
@ cmd_data_request_id
Definition net_load_tests.h:228
@ cmd_shutdown_id
Definition net_load_tests.h:226
@ cmd_send_data_requests_id
Definition net_load_tests.h:227
@ cmd_close_all_connections_id
Definition net_load_tests.h:222
@ cmd_reset_statistics_id
Definition net_load_tests.h:225
@ cmd_get_statistics_id
Definition net_load_tests.h:224
@ cmd_start_open_close_test_id
Definition net_load_tests.h:223
epee::net_utils::boosted_tcp_server< test_levin_protocol_handler > test_tcp_server
Definition net_load_tests.h:59
unsigned __int64 uint64_t
Definition stdint.h:136
Definition levin_base.h:91
Definition net_utils_base.h:367
connection_context_base(boost::uuids::uuid connection_id, const network_address &remote_address, bool is_income, bool ssl, time_t last_recv=0, time_t last_send=0, uint64_t recv_cnt=0, uint64_t send_cnt=0)
Definition net_utils_base.h:382
Definition net_load_tests.h:236
Definition net_load_tests.h:232
static const int ID
Definition net_load_tests.h:233
Definition net_load_tests.h:344
std::string data
Definition net_load_tests.h:345
uint64_t response_size
Definition net_load_tests.h:346
Definition net_load_tests.h:354
std::string data
Definition net_load_tests.h:355
Definition net_load_tests.h:340
static const int ID
Definition net_load_tests.h:341
Definition net_load_tests.h:269
Definition net_load_tests.h:275
uint64_t new_connection_counter
Definition net_load_tests.h:277
uint64_t opened_connections_count
Definition net_load_tests.h:276
std::string to_string() const
Definition net_load_tests.h:286
uint64_t close_connection_counter
Definition net_load_tests.h:278
Definition net_load_tests.h:265
static const int ID
Definition net_load_tests.h:266
Definition net_load_tests.h:302
Definition net_load_tests.h:308
Definition net_load_tests.h:298
static const int ID
Definition net_load_tests.h:299
Definition net_load_tests.h:330
uint64_t request_size
Definition net_load_tests.h:331
Definition net_load_tests.h:326
static const int ID
Definition net_load_tests.h:327
Definition net_load_tests.h:319
Definition net_load_tests.h:315
static const int ID
Definition net_load_tests.h:316
Definition net_load_tests.h:247
uint64_t max_opened_conn_count
Definition net_load_tests.h:249
uint64_t open_request_target
Definition net_load_tests.h:248
Definition net_load_tests.h:258
Definition net_load_tests.h:243
static const int ID
Definition net_load_tests.h:244
Definition net_load_tests.h:48
static constexpr int handshake_command() noexcept
Definition net_load_tests.h:50
static constexpr bool handshake_complete() noexcept
Definition net_load_tests.h:51
volatile bool m_closed
Definition net_load_tests.h:53
test_connection_context()
Definition net_load_tests.h:49
size_t get_max_bytes(int command) const
Definition net_load_tests.h:52
virtual int notify(int command, const epee::span< const uint8_t > in_buff, test_connection_context &context)
Definition net_load_tests.h:80
size_t close_connection_counter() const
Definition net_load_tests.h:112
virtual void on_connection_close(test_connection_context &context)
Definition net_load_tests.h:102
virtual void on_connection_new(test_connection_context &context)
Definition net_load_tests.h:96
virtual int invoke(int command, const epee::span< const uint8_t > in_buff, epee::byte_stream &buff_out, test_connection_context &context)
Definition net_load_tests.h:69
virtual void callback(test_connection_context &context)
Definition net_load_tests.h:90
test_levin_commands_handler()
Definition net_load_tests.h:63
unit_test::call_counter m_close_connection_counter
Definition net_load_tests.h:128
unit_test::call_counter m_new_connection_counter
Definition net_load_tests.h:127
size_t new_connection_counter() const
Definition net_load_tests.h:111