| 2837 | } |
| 2838 | |
| 2839 | void test_5_arg_streambuf_read_at() |
| 2840 | { |
| 2841 | boost::asio::io_context ioc; |
| 2842 | test_random_access_device s(ioc); |
| 2843 | boost::asio::streambuf sb(sizeof(read_data)); |
| 2844 | |
| 2845 | s.reset(read_data, sizeof(read_data)); |
| 2846 | sb.consume(sb.size()); |
| 2847 | boost::system::error_code error; |
| 2848 | size_t bytes_transferred = boost::asio::read_at(s, 0, sb, |
| 2849 | boost::asio::transfer_all(), error); |
| 2850 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 2851 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 2852 | BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); |
| 2853 | BOOST_ASIO_CHECK(!error); |
| 2854 | |
| 2855 | s.reset(read_data, sizeof(read_data)); |
| 2856 | sb.consume(sb.size()); |
| 2857 | bytes_transferred = boost::asio::read_at(s, 1234, sb, |
| 2858 | boost::asio::transfer_all(), error); |
| 2859 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 2860 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 2861 | BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); |
| 2862 | BOOST_ASIO_CHECK(!error); |
| 2863 | |
| 2864 | s.reset(read_data, sizeof(read_data)); |
| 2865 | s.next_read_length(1); |
| 2866 | sb.consume(sb.size()); |
| 2867 | error = boost::system::error_code(); |
| 2868 | bytes_transferred = boost::asio::read_at(s, 0, sb, |
| 2869 | boost::asio::transfer_all(), error); |
| 2870 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 2871 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 2872 | BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); |
| 2873 | BOOST_ASIO_CHECK(!error); |
| 2874 | |
| 2875 | s.reset(read_data, sizeof(read_data)); |
| 2876 | s.next_read_length(1); |
| 2877 | sb.consume(sb.size()); |
| 2878 | error = boost::system::error_code(); |
| 2879 | bytes_transferred = boost::asio::read_at(s, 1234, sb, |
| 2880 | boost::asio::transfer_all(), error); |
| 2881 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 2882 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 2883 | BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); |
| 2884 | BOOST_ASIO_CHECK(!error); |
| 2885 | |
| 2886 | s.reset(read_data, sizeof(read_data)); |
| 2887 | s.next_read_length(10); |
| 2888 | sb.consume(sb.size()); |
| 2889 | error = boost::system::error_code(); |
| 2890 | bytes_transferred = boost::asio::read_at(s, 0, sb, |
| 2891 | boost::asio::transfer_all(), error); |
| 2892 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 2893 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 2894 | BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); |
| 2895 | BOOST_ASIO_CHECK(!error); |
| 2896 |
nothing calls this directly
no test coverage detected