| 3938 | } |
| 3939 | |
| 3940 | void test_4_arg_vector_buffers_async_read() |
| 3941 | { |
| 3942 | namespace bindns = std; |
| 3943 | using bindns::placeholders::_1; |
| 3944 | using bindns::placeholders::_2; |
| 3945 | |
| 3946 | boost::asio::io_context ioc; |
| 3947 | test_stream s(ioc); |
| 3948 | char read_buf[sizeof(read_data)]; |
| 3949 | std::vector<boost::asio::mutable_buffer> buffers; |
| 3950 | buffers.push_back(boost::asio::buffer(read_buf, 32)); |
| 3951 | buffers.push_back(boost::asio::buffer(read_buf, 39) + 32); |
| 3952 | buffers.push_back(boost::asio::buffer(read_buf) + 39); |
| 3953 | |
| 3954 | s.reset(read_data, sizeof(read_data)); |
| 3955 | memset(read_buf, 0, sizeof(read_buf)); |
| 3956 | bool called = false; |
| 3957 | boost::asio::async_read(s, buffers, boost::asio::transfer_all(), |
| 3958 | bindns::bind(async_read_handler, |
| 3959 | _1, _2, sizeof(read_data), &called)); |
| 3960 | ioc.restart(); |
| 3961 | ioc.run(); |
| 3962 | BOOST_ASIO_CHECK(called); |
| 3963 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 3964 | |
| 3965 | s.reset(read_data, sizeof(read_data)); |
| 3966 | s.next_read_length(1); |
| 3967 | memset(read_buf, 0, sizeof(read_buf)); |
| 3968 | called = false; |
| 3969 | boost::asio::async_read(s, buffers, boost::asio::transfer_all(), |
| 3970 | bindns::bind(async_read_handler, |
| 3971 | _1, _2, sizeof(read_data), &called)); |
| 3972 | ioc.restart(); |
| 3973 | ioc.run(); |
| 3974 | BOOST_ASIO_CHECK(called); |
| 3975 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 3976 | |
| 3977 | s.reset(read_data, sizeof(read_data)); |
| 3978 | s.next_read_length(10); |
| 3979 | memset(read_buf, 0, sizeof(read_buf)); |
| 3980 | called = false; |
| 3981 | boost::asio::async_read(s, buffers, boost::asio::transfer_all(), |
| 3982 | bindns::bind(async_read_handler, |
| 3983 | _1, _2, sizeof(read_data), &called)); |
| 3984 | ioc.restart(); |
| 3985 | ioc.run(); |
| 3986 | BOOST_ASIO_CHECK(called); |
| 3987 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 3988 | |
| 3989 | s.reset(read_data, sizeof(read_data)); |
| 3990 | memset(read_buf, 0, sizeof(read_buf)); |
| 3991 | called = false; |
| 3992 | boost::asio::async_read(s, buffers, boost::asio::transfer_at_least(1), |
| 3993 | bindns::bind(async_read_handler, |
| 3994 | _1, _2, sizeof(read_data), &called)); |
| 3995 | ioc.restart(); |
| 3996 | ioc.run(); |
| 3997 | BOOST_ASIO_CHECK(called); |
nothing calls this directly
no test coverage detected