@@ -393,9 +393,7 @@ CATCH_TEMPLATE_TEST_CASE("AsyncTcpSocket", "[net]", fly::net::IPv4Address, fly::
393
393
394
394
CATCH_SECTION (" Sockets may connect asynchronously" )
395
395
{
396
- fly::test::Signal server_signal;
397
-
398
- auto server_thread = [&signal , &server_signal]()
396
+ auto server_thread = [&signal ]()
399
397
{
400
398
auto listen_socket =
401
399
fly::test::create_socket<ListenSocket>(fly::net::IOMode::Synchronous);
@@ -407,12 +405,9 @@ CATCH_TEMPLATE_TEST_CASE("AsyncTcpSocket", "[net]", fly::net::IPv4Address, fly::
407
405
408
406
auto connected_socket = listen_socket->accept ();
409
407
CATCH_REQUIRE (connected_socket);
410
-
411
- // Don't let the server exit until the client has verified connectivity.
412
- server_signal.wait ();
413
408
};
414
409
415
- auto client_thread = [&socket_service, &signal , &server_signal ]()
410
+ auto client_thread = [&socket_service, &signal ]()
416
411
{
417
412
fly::test::Signal client_signal;
418
413
@@ -423,19 +418,17 @@ CATCH_TEMPLATE_TEST_CASE("AsyncTcpSocket", "[net]", fly::net::IPv4Address, fly::
423
418
fly::net::ConnectedState state = client_socket->connect_async (
424
419
s_localhost,
425
420
s_port,
426
- [&client_signal, &state ](fly::net::ConnectedState new_state)
421
+ [&client_signal](fly::net::ConnectedState new_state)
427
422
{
428
- state = new_state ;
423
+ CATCH_CHECK (new_state == fly::net::ConnectedState::Connected) ;
429
424
client_signal.notify ();
430
425
});
431
426
427
+ CATCH_CHECK (state != fly::net::ConnectedState::Disconnected);
432
428
if (state == fly::net::ConnectedState::Connecting)
433
429
{
434
430
client_signal.wait ();
435
431
}
436
-
437
- CATCH_CHECK (state == fly::net::ConnectedState::Connected);
438
- server_signal.notify ();
439
432
};
440
433
441
434
fly::test::invoke (std::move (server_thread), std::move (client_thread));
@@ -476,19 +469,18 @@ CATCH_TEMPLATE_TEST_CASE("AsyncTcpSocket", "[net]", fly::net::IPv4Address, fly::
476
469
fly::net::ConnectedState state = client_socket->connect_async (
477
470
s_localhost,
478
471
s_port,
479
- [&client_signal, &state ](fly::net::ConnectedState new_state)
472
+ [&client_signal](fly::net::ConnectedState new_state)
480
473
{
481
- state = new_state ;
474
+ CATCH_CHECK (new_state == fly::net::ConnectedState::Connected) ;
482
475
client_signal.notify ();
483
476
});
484
477
478
+ CATCH_CHECK (state != fly::net::ConnectedState::Disconnected);
485
479
if (state == fly::net::ConnectedState::Connecting)
486
480
{
487
481
client_signal.wait ();
488
482
}
489
483
490
- CATCH_CHECK (state == fly::net::ConnectedState::Connected);
491
-
492
484
CATCH_CHECK (client_socket->send_async (
493
485
message,
494
486
[&client_signal, &message](std::size_t bytes_sent)
@@ -675,19 +667,18 @@ CATCH_TEMPLATE_TEST_CASE("AsyncTcpSocket", "[net]", fly::net::IPv4Address, fly::
675
667
fly::net::ConnectedState state = client_socket->connect_async (
676
668
s_localhost,
677
669
s_port,
678
- [&client_signal, &state ](fly::net::ConnectedState new_state)
670
+ [&client_signal](fly::net::ConnectedState new_state)
679
671
{
680
- state = new_state ;
672
+ CATCH_CHECK (new_state == fly::net::ConnectedState::Connected) ;
681
673
client_signal.notify ();
682
674
});
683
675
676
+ CATCH_CHECK (state != fly::net::ConnectedState::Disconnected);
684
677
if (state == fly::net::ConnectedState::Connecting)
685
678
{
686
679
client_signal.wait ();
687
680
}
688
681
689
- CATCH_CHECK (state == fly::net::ConnectedState::Connected);
690
-
691
682
CATCH_CHECK (client_socket->send_async (
692
683
message,
693
684
[&client_signal, &message](std::size_t bytes_sent)
0 commit comments