#include <net_load_tests.h>
Definition at line 137 of file net_load_tests.h.
◆ open_close_test_helper()
| net_load_tests::open_close_test_helper::open_close_test_helper |
( |
test_tcp_server & | tcp_server, |
|
|
size_t | open_request_target, |
|
|
size_t | max_opened_connection_count ) |
|
inline |
Definition at line 140 of file net_load_tests.h.
141 : m_tcp_server(tcp_server)
142 , m_max_opened_connection_count(max_opened_connection_count)
143 , m_opened_connection_count(0)
144 , m_next_opened_conn_idx(0)
145 , m_next_closed_conn_idx(0)
146 , m_connections(open_request_target)
147 {
148 for (auto& conn_id : m_connections)
149 conn_id = boost::uuids::nil_uuid();
150 }
◆ close_next_connection()
| bool net_load_tests::open_close_test_helper::close_next_connection |
( |
bool | ignore_close_fails | ) |
|
|
inline |
Definition at line 176 of file net_load_tests.h.
177 {
178 size_t idx = m_next_closed_conn_idx.fetch_add(1, std::memory_order_relaxed);
179 if (m_next_opened_conn_idx.load(std::memory_order_relaxed) <= idx)
180 {
182 return false;
183 }
184 if (m_connections[idx].is_nil())
185 {
187 return false;
188 }
189 if (!m_tcp_server.get_config_object().close(m_connections[idx]))
190 {
191 LOG_PRINT_L0(
"Close connection error: " << m_connections[idx]);
192 if (!ignore_close_fails)
193 {
194 return false;
195 }
196 }
197
198 m_connections[idx] = boost::uuids::nil_uuid();
199 m_opened_connection_count.fetch_sub(1, std::memory_order_relaxed);
200 return true;
201 }
◆ close_remaining_connections()
| void net_load_tests::open_close_test_helper::close_remaining_connections |
( |
| ) |
|
|
inline |
Definition at line 171 of file net_load_tests.h.
172 {
174 }
bool close_next_connection(bool ignore_close_fails)
◆ handle_new_connection()
| bool net_load_tests::open_close_test_helper::handle_new_connection |
( |
const boost::uuids::uuid & | connection_id, |
|
|
bool | ignore_close_fails = false ) |
|
inline |
Definition at line 152 of file net_load_tests.h.
153 {
154 size_t idx = m_next_opened_conn_idx.fetch_add(1, std::memory_order_relaxed);
155 if (idx >= m_connections.size())
156 {
158 exit(1);
159 }
160 m_connections[idx] = connection_id;
161
162 size_t prev_connection_count = m_opened_connection_count.fetch_add(1, std::memory_order_relaxed);
163 if (m_max_opened_connection_count <= prev_connection_count)
164 {
166 }
167
168 return true;
169 }
◆ opened_connection_count()
| size_t net_load_tests::open_close_test_helper::opened_connection_count |
( |
| ) |
const |
|
inline |
Definition at line 203 of file net_load_tests.h.
203{ return m_opened_connection_count.load(std::memory_order_relaxed); }
The documentation for this class was generated from the following file:
- /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/tests/net_load_tests/net_load_tests.h