35 #include <boost/asio/io_service.hpp> 36 #include <boost/uuid/uuid_io.hpp> 44 #include "../unit_tests/unit_tests_utils.h" 152 conn_id = boost::uuids::nil_uuid();
160 LOG_PRINT_L0(
"ERROR: connections overflow");
184 LOG_PRINT_L0(
"Not enough opened connections");
189 LOG_PRINT_L0(
"Connection isn't opened");
194 LOG_PRINT_L0(
"Close connection error: " <<
m_connections[idx]);
195 if (!ignore_close_fails)
289 std::stringstream ss;
290 ss <<
"opened_connections_count = " << opened_connections_count <<
291 ", new_connection_counter = " << new_connection_counter <<
292 ", close_connection_counter = " << close_connection_counter;
epee::net_utils::connection< test_levin_protocol_handler > test_connection
Definition: net_load_tests.h:59
Definition: net_load_tests.h:62
bool close_next_connection(bool ignore_close_fails)
Definition: net_load_tests.h:179
virtual int notify(int command, const epee::span< const uint8_t > in_buff, test_connection_context &context)
Definition: net_load_tests.h:81
std::vector< boost::uuids::uuid > m_connections
Definition: net_load_tests.h:214
Definition: abstract_tcp_server2.h:322
Definition: net_load_tests.h:232
void inc() volatile
Definition: unit_tests_utils.h:48
Definition: net_load_tests.h:330
Definition: portable_binary_archive.hpp:29
Definition: net_load_tests.h:226
size_t get_max_bytes(int command) const
Definition: net_load_tests.h:53
uint64_t close_connection_counter
Definition: net_load_tests.h:279
::std::string string
Definition: gtest-port.h:1097
Definition: net_load_tests.h:228
Definition: net_load_tests.h:247
Definition: net_load_tests.h:224
A partial drop-in replacement for std::ostream.
Definition: byte_stream.h:57
const std::string clt_port("36230")
epee::net_utils::boosted_tcp_server< test_levin_protocol_handler > test_tcp_server
Definition: net_load_tests.h:60
Definition: net_load_tests.h:227
std::string data
Definition: net_load_tests.h:346
Definition: net_utils_base.h:364
std::string data
Definition: base58.cpp:37
static const int ID
Definition: net_load_tests.h:245
Definition: net_load_tests.h:319
Non-owning sequence of data. Does not deep copy.
Definition: span.h:54
std::atomic< size_t > m_opened_connection_count
Definition: net_load_tests.h:211
#define KV_SERIALIZE(varialble)
Definition: keyvalue_serialization.h:118
command_ids
Definition: net_load_tests.h:221
volatile bool m_closed
Definition: net_load_tests.h:54
Definition: net_load_tests.h:298
#define LEVIN_DEFAULT_MAX_PACKET_SIZE
Definition: levin_base.h:77
Definition: net_load_tests.h:340
Definition: net_load_tests.h:48
void close_remaining_connections()
Definition: net_load_tests.h:174
unit_test::call_counter m_close_connection_counter
Definition: net_load_tests.h:129
uint64_t response_size
Definition: net_load_tests.h:347
Definition: net_load_tests.h:344
uint64_t open_request_target
Definition: net_load_tests.h:249
const char * uuid
Definition: minissdp.c:598
Definition: net_load_tests.h:46
Definition: levin_base.h:90
the connection templated-class for one peer connection
Represents a single connection from a client.
Definition: abstract_tcp_server2.h:86
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:70
epee::levin::async_protocol_handler_config< test_connection_context > test_levin_protocol_handler_config
Definition: net_load_tests.h:58
unit_test::call_counter m_new_connection_counter
Definition: net_load_tests.h:128
unsigned __int64 uint64_t
Definition: stdint.h:136
connection_context_base()
Definition: net_utils_base.h:399
size_t close_connection_counter() const
Definition: net_load_tests.h:113
std::unique_ptr< void, terminate > context
Unique ZMQ context handle, calls zmq_term on destruction.
Definition: zmq.h:105
static constexpr int handshake_command() noexcept
Definition: net_load_tests.h:51
virtual void callback(test_connection_context &context)
Definition: net_load_tests.h:91
uint64_t opened_connections_count
Definition: net_load_tests.h:277
std::atomic< size_t > m_next_closed_conn_idx
Definition: net_load_tests.h:213
virtual void on_connection_new(test_connection_context &context)
Definition: net_load_tests.h:97
epee::levin::async_protocol_handler< test_connection_context > test_levin_protocol_handler
Definition: net_load_tests.h:57
test_levin_commands_handler()
Definition: net_load_tests.h:64
bool handle_new_connection(const boost::uuids::uuid &connection_id, bool ignore_close_fails=false)
Definition: net_load_tests.h:155
std::string data
Definition: net_load_tests.h:356
TODO: (mj-xmr) This will be reduced in an another PR.
Definition: byte_slice.h:39
virtual void on_connection_close(test_connection_context &context)
Definition: net_load_tests.h:103
Definition: net_load_tests.h:236
const std::string srv_port("36231")
Definition: net_load_tests.h:225
Definition: net_load_tests.h:302
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:143
uint64_t request_size
Definition: net_load_tests.h:332
Definition: net_load_tests.h:229
Definition: levin_protocol_handler_async.h:77
Definition: net_load_tests.h:258
Definition: levin_protocol_handler_async.h:80
Definition: net_load_tests.h:265
size_t opened_connection_count() const
Definition: net_load_tests.h:206
const unsigned int min_thread_count
Definition: net_load_tests.h:217
size_t m_max_opened_connection_count
Definition: net_load_tests.h:210
std::atomic< size_t > m_next_opened_conn_idx
Definition: net_load_tests.h:212
Definition: net_load_tests.h:326
uint64_t new_connection_counter
Definition: net_load_tests.h:278
Definition: net_load_tests.h:308
Definition: net_load_tests.h:275
std::string to_string(t_connection_type type)
Definition: connection_basic.cpp:76
Definition: net_load_tests.h:315
test_tcp_server & m_tcp_server
Definition: net_load_tests.h:209
#define END_KV_SERIALIZE_MAP()
Definition: keyvalue_serialization.h:116
Definition: net_load_tests.h:140
uint64_t max_opened_conn_count
Definition: net_load_tests.h:250
static const int ID
Definition: net_load_tests.h:234
test_connection_context()
Definition: net_load_tests.h:50
Definition: unit_tests_utils.h:40
#define LEVIN_OK
Definition: levin_base.h:102
#define BEGIN_KV_SERIALIZE_MAP()
Definition: keyvalue_serialization.h:43
Definition: net_load_tests.h:243
Definition: net_load_tests.h:354
static constexpr bool handshake_complete() noexcept
Definition: net_load_tests.h:52
size_t get() volatile const
Definition: unit_tests_utils.h:54
size_t new_connection_counter() const
Definition: net_load_tests.h:112
Definition: net_load_tests.h:223
Definition: net_load_tests.h:269
t_protocol_handler::config_type & get_config_object()
Definition: abstract_tcp_server2.h:390