Skip to content

Commit 31d78a3

Browse files
committed
* port change test
* sigh, even more prints
1 parent 1a06072 commit 31d78a3

File tree

3 files changed

+37
-26
lines changed

3 files changed

+37
-26
lines changed

src/client.hpp

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,22 @@ namespace netlib {
3333
std::chrono::milliseconds ms_taken = std::chrono::duration_cast<std::chrono::milliseconds>((end - start));
3434
if (select_res == 1)
3535
{
36-
int32_t so_error = 0;
37-
socklen_t len = sizeof(so_error);
38-
getsockopt(sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
39-
if (so_error == 0) {
40-
//success
41-
std::cout << "select no error" << std::endl;
42-
return {{}, ms_taken};
43-
}
44-
std::error_condition error_condition = static_cast<std::errc>(so_error);
45-
std::cout << "select ret error" << error_condition.message() << std::endl;
46-
return {static_cast<std::errc>(so_error), ms_taken};
36+
return {{}, ms_taken};
37+
38+
39+
40+
41+
// int32_t so_error = 0;
42+
// socklen_t len = sizeof(so_error);
43+
// getsockopt(sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
44+
// if (so_error == 0) {
45+
// //success
46+
// std::cout << "client select no error" << std::endl;
47+
// return {{}, ms_taken};
48+
// }
49+
// std::error_condition error_condition = static_cast<std::errc>(so_error);
50+
// std::cout << "client select ret error" << error_condition.message() << std::endl;
51+
// return {static_cast<std::errc>(so_error), ms_taken};
4752
} else if (select_res == 0) {
4853
//timeout
4954
std::cout << "select ret 0 timeout" << std::endl;
@@ -134,6 +139,8 @@ namespace netlib {
134139
}, data, timeout);
135140
}
136141
inline std::pair<std::size_t, std::error_condition> send(const std::vector<uint8_t> &data, std::optional<std::chrono::milliseconds> timeout) {
142+
143+
std::cout << "client send: " << data.size() << std::endl;
137144
if (!is_connected()) {
138145
return {0, std::errc::not_connected};
139146
}
@@ -167,31 +174,30 @@ namespace netlib {
167174
return {{}, std::errc::not_connected};
168175
}
169176

170-
std::cout << "Ping0" << std::endl;
171177
if (timeout.has_value() && timeout->count() < 0) {
172-
std::cout << "Timeout returned" << std::endl;
178+
std::cout << "client recv timeout returned" << std::endl;
173179
return {{}, std::errc::timed_out};
174180
}
175181

176182
auto wait_res = wait_for_operation(_socket.value().get_raw().value(), OperationClass::read, timeout.value());
177183
if (wait_res.first) {
178-
std::cout << "select timeout returned" << std::endl;
184+
std::cout << "client recv select timeout returned" << std::endl;
179185
return {{}, wait_res.first};
180186
}
181187

182-
std::cout << "Ping1" << std::endl;
188+
std::cout << "client recv after wait" << std::endl;
183189

184190
std::vector<uint8_t> data(byte_count, 0);
185-
ssize_t recv_res = ::recv(_socket.value().get_raw().value(), data.data(), byte_count, 0);
191+
ssize_t recv_res = ::recv(_socket.value().get_raw().value(), data.data(), byte_count, MSG_WAITALL);
186192
if (recv_res > 0) {
187-
std::cout << "Ping2" << std::endl;
193+
std::cout << "client recv " << recv_res << std::endl;
188194
data.resize(recv_res);
189195
return {data, {}};
190196
} else if (recv_res == 0){
191-
std::cout << "Ping3" << std::endl;
197+
std::cout << "client recv 0" << std::endl;
192198
return {{}, std::errc::connection_aborted};
193199
}
194-
std::cout << "Ping4" << std::endl;
200+
std::cout << "client recv error: " << recv_res << " : " << socket_get_last_error().message() << std::endl;
195201
return {{}, socket_get_last_error()};
196202
}
197203

src/server.hpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ namespace netlib {
120120
_cb_on_error(new_endpoint, std::errc::connection_aborted);
121121
}
122122
new_endpoint.socket.close();
123+
std::cout << "server kicked client accept" << std::endl;
123124
continue;
124125
}
125126
}
@@ -141,16 +142,17 @@ namespace netlib {
141142
recv_res += recv_res_cycle;
142143
}
143144
if (recv_res == 0){
144-
std::cout << "recv_res == 0" << std::endl;
145+
std::cout << "server recv_res == 0" << std::endl;
145146
if (_cb_on_error) {
146147
_cb_on_error(endpoint, std::errc::connection_aborted);
147148
}
148149
remove_client(endpoint.socket.get_raw().value());
149150
endpoint.socket.close();
151+
std::cout << "server kicked client recv 0" << std::endl;
150152
return std::errc::connection_aborted;
151153
} else if (recv_res < 0) {
152154
//error
153-
std::cout << "recv_res == -1" << std::endl;
155+
std::cout << "server recv_res == -1" << std::endl;
154156
std::error_condition recv_error = socket_get_last_error();
155157
//we do not want to spam callback with wouldblock messages
156158
//for portability we shall check both EAGAIN and EWOULDBLOCK
@@ -162,7 +164,7 @@ namespace netlib {
162164
}
163165
return recv_error;
164166
} else {
165-
std::cout << "recv_res > 0: " << recv_res << " " << total_buffer.size() << std::endl;
167+
std::cout << "server recv_res > 0: " << recv_res << " " << total_buffer.size() << std::endl;
166168
//we got data
167169
if (_cb_on_recv) {
168170
netlib::server_response response = _cb_on_recv(endpoint, total_buffer);
@@ -181,6 +183,7 @@ namespace netlib {
181183
}
182184
remove_client(endpoint.socket.get_raw().value());
183185
endpoint.socket.close();
186+
std::cout << "server kicked client because wanted" << std::endl;
184187
}
185188

186189
}

tests/test_client_server.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ std::random_device rd;
1414
std::mt19937 gen(rd());
1515
std::uniform_int_distribution<> distr(10000, 65000);
1616

17-
static uint16_t test_port = distr(gen);
17+
static uint16_t test_port = 7777;//distr(gen);
1818

1919
std::string to_hex_array(const std::vector<uint8_t> &data) {
2020
std::stringstream stream;
@@ -33,7 +33,7 @@ TEST_CASE("Test server with callbacks") {
3333

3434

3535

36-
std::cout << "Starting failing test" << std::endl;
36+
std::cout << "****Starting failing test" << std::endl;
3737

3838
server.register_callback_on_connect(
3939
[&](netlib::client_endpoint endpoint) -> netlib::server_response {
@@ -77,13 +77,15 @@ TEST_CASE("Test server with callbacks") {
7777

7878
std::this_thread::sleep_for(1000ms);
7979

80-
std::cout << "Starting failing segment" << std::endl;
80+
std::cout << "***********Starting failing segment" << std::endl;
8181

8282
auto client_recv = client.recv(1024, 5000ms);
8383
CHECK_FALSE(client_recv.second);
8484
if (client_recv.second) {
85-
std::cout << "Recv error: " << client_recv.second.message() << std::endl;
85+
std::cout << "test recv error: " << client_recv.second.message() << std::endl;
8686
}
8787
CHECK(client_recv.first == server_response_message);
88+
89+
std::cout << "***********Ending failing segment" << std::endl;
8890
}
8991

0 commit comments

Comments
 (0)