@@ -30,7 +30,6 @@ using boost::redis::connection;
3030using boost::system::error_code;
3131using boost::redis::request;
3232using boost::redis::response;
33- using boost::redis::generic_flat_response;
3433using boost::redis::ignore;
3534using boost::redis::ignore_t ;
3635using boost::system::error_code;
@@ -79,8 +78,8 @@ BOOST_AUTO_TEST_CASE(receives_push_waiting_resps)
7978
8079 run (conn, make_test_config (), {});
8180
82- conn->async_receive2 ([&, conn](error_code ec) {
83- std::cout << " async_receive2 " << std::endl;
81+ conn->async_receive ([&, conn](error_code ec, std:: size_t ) {
82+ std::cout << " async_receive " << std::endl;
8483 BOOST_TEST (ec == error_code ());
8584 push_received = true ;
8685 conn->cancel ();
@@ -99,12 +98,10 @@ BOOST_AUTO_TEST_CASE(push_received1)
9998 net::io_context ioc;
10099 auto conn = std::make_shared<connection>(ioc);
101100
102- generic_flat_response resp;
103- conn->set_receive_response (resp);
104-
105101 // Trick: Uses SUBSCRIBE because this command has no response or
106102 // better said, its response is a server push, which is what we
107- // want to test.
103+ // want to test. We send two because we want to test both
104+ // async_receive and receive.
108105 request req;
109106 req.push (" SUBSCRIBE" , " channel1" );
110107 req.push (" SUBSCRIBE" , " channel2" );
@@ -117,13 +114,25 @@ BOOST_AUTO_TEST_CASE(push_received1)
117114 BOOST_TEST (ec == error_code ());
118115 });
119116
120- conn->async_receive2 ([&, conn](error_code ec) {
117+ conn->async_receive ([&, conn](error_code ec, std:: size_t ) {
121118 push_received = true ;
122- std::cout << " async_receive2 " << std::endl;
119+ std::cout << " (1) async_receive " << std::endl;
123120
124121 BOOST_TEST (ec == error_code ());
125122
126- BOOST_CHECK_EQUAL (resp.value ().get_total_msgs (), 2u );
123+ // Receives the second push synchronously.
124+ error_code ec2;
125+ std::size_t res = 0 ;
126+ res = conn->receive (ec2);
127+ BOOST_TEST (!ec2);
128+ BOOST_TEST (res != std::size_t (0 ));
129+
130+ // Tries to receive a third push synchronously.
131+ ec2 = {};
132+ res = conn->receive (ec2);
133+ BOOST_CHECK_EQUAL (
134+ ec2,
135+ boost::redis::make_error_code (boost::redis::error::sync_receive_push_failed));
127136
128137 conn->cancel ();
129138 });
@@ -155,7 +164,7 @@ BOOST_AUTO_TEST_CASE(push_filtered_out)
155164 BOOST_TEST (ec == error_code ());
156165 });
157166
158- conn->async_receive2 ([&, conn](error_code ec) {
167+ conn->async_receive ([&, conn](error_code ec, std:: size_t ) {
159168 push_received = true ;
160169 BOOST_TEST (ec == error_code ());
161170 conn->cancel (operation::reconnection);
@@ -203,7 +212,7 @@ BOOST_AUTO_TEST_CASE(test_push_adapter)
203212
204213 bool push_received = false , exec_finished = false , run_finished = false ;
205214
206- conn->async_receive2 ([&, conn](error_code ec) {
215+ conn->async_receive ([&, conn](error_code ec, std:: size_t ) {
207216 BOOST_CHECK_EQUAL (ec, boost::asio::experimental::error::channel_cancelled);
208217 push_received = true ;
209218 });
@@ -231,7 +240,7 @@ BOOST_AUTO_TEST_CASE(test_push_adapter)
231240
232241void launch_push_consumer (std::shared_ptr<connection> conn)
233242{
234- conn->async_receive2 ([conn](error_code ec) {
243+ conn->async_receive ([conn](error_code ec, std:: size_t ) {
235244 if (ec) {
236245 BOOST_TEST (ec == net::experimental::error::channel_cancelled);
237246 return ;
0 commit comments