Commit e0183f4c authored by Jakob Otto's avatar Jakob Otto

Include review feedback

parent 474738fb
...@@ -100,8 +100,10 @@ variant<std::pair<size_t, ip_endpoint>, sec> read(udp_datagram_socket x, ...@@ -100,8 +100,10 @@ variant<std::pair<size_t, ip_endpoint>, sec> read(udp_datagram_socket x,
<< CAF_ARG(buf.size()) << " of " << CAF_ARG(num_bytes) << CAF_ARG(buf.size()) << " of " << CAF_ARG(num_bytes)
<< " bytes"); << " bytes");
ip_endpoint ep; ip_endpoint ep;
if (auto err = detail::convert(addr, ep)) if (auto err = detail::convert(addr, ep)) {
CAF_ASSERT(err.category() == atom("system"));
return static_cast<sec>(err.code()); return static_cast<sec>(err.code());
}
return std::pair<size_t, ip_endpoint>(*num_bytes, ep); return std::pair<size_t, ip_endpoint>(*num_bytes, ep);
} else { } else {
return get<sec>(ret); return get<sec>(ret);
......
...@@ -71,13 +71,13 @@ CAF_TEST_FIXTURE_SCOPE(udp_datagram_socket_test, fixture) ...@@ -71,13 +71,13 @@ CAF_TEST_FIXTURE_SCOPE(udp_datagram_socket_test, fixture)
CAF_TEST(send and receive) { CAF_TEST(send and receive) {
std::vector<byte> buf(1024); std::vector<byte> buf(1024);
if (auto err = nonblocking(socket_cast<net::socket>(receive_socket), true)) if (auto err = nonblocking(socket_cast<net::socket>(receive_socket), true))
CAF_FAIL("nonblocking returned an error" << err); CAF_FAIL("setting socket to nonblocking failed: " << err);
CAF_CHECK_EQUAL(read(receive_socket, make_span(buf)), CAF_CHECK_EQUAL(read(receive_socket, make_span(buf)),
sec::unavailable_or_would_block); sec::unavailable_or_would_block);
CAF_MESSAGE("sending data to " << to_string(ep)); CAF_MESSAGE("sending data to " << to_string(ep));
CAF_CHECK_EQUAL(write(send_socket, as_bytes(make_span(hello_test)), ep), CAF_CHECK_EQUAL(write(send_socket, as_bytes(make_span(hello_test)), ep),
hello_test.size()); hello_test.size());
int rounds = 0; int receive_attempts = 0;
variant<std::pair<size_t, ip_endpoint>, sec> read_ret; variant<std::pair<size_t, ip_endpoint>, sec> read_ret;
do { do {
read_ret = read(receive_socket, make_span(buf)); read_ret = read(receive_socket, make_span(buf));
...@@ -87,9 +87,9 @@ CAF_TEST(send and receive) { ...@@ -87,9 +87,9 @@ CAF_TEST(send and receive) {
} else if (get<sec>(read_ret) != sec::unavailable_or_would_block) { } else if (get<sec>(read_ret) != sec::unavailable_or_would_block) {
CAF_FAIL("read returned an error: " << sys.render(get<sec>(read_ret))); CAF_FAIL("read returned an error: " << sys.render(get<sec>(read_ret)));
} }
CAF_CHECK_LESS(++rounds, 100); if (++receive_attempts > 100)
} while (holds_alternative<sec>(read_ret) CAF_FAIL("unable to receive data from the UDP socket");
&& get<sec>(read_ret) == sec::unavailable_or_would_block); } while (read_ret.index() != 0);
string_view received{reinterpret_cast<const char*>(buf.data()), buf.size()}; string_view received{reinterpret_cast<const char*>(buf.data()), buf.size()};
CAF_CHECK_EQUAL(received, hello_test); CAF_CHECK_EQUAL(received, hello_test);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment