MCPcopy Create free account
hub / github.com/boostorg/asio / test_5_arg_streambuf_read_at

Function test_5_arg_streambuf_read_at

test/read_at.cpp:2839–3415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2837}
2838
2839void 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

Callers

nothing calls this directly

Calls 11

read_atFunction · 0.85
transfer_at_leastFunction · 0.85
transfer_exactlyFunction · 0.85
short_transferClass · 0.70
transfer_allClass · 0.50
resetMethod · 0.45
consumeMethod · 0.45
sizeMethod · 0.45
check_buffersMethod · 0.45
dataMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected