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

Function test_4_arg_mutable_buffer_async_read

test/read.cpp:2889–3236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2887}
2888
2889void test_4_arg_mutable_buffer_async_read()
2890{
2891 namespace bindns = std;
2892 using bindns::placeholders::_1;
2893 using bindns::placeholders::_2;
2894
2895 boost::asio::io_context ioc;
2896 test_stream s(ioc);
2897 char read_buf[sizeof(read_data)];
2898 boost::asio::mutable_buffer buffers
2899 = boost::asio::buffer(read_buf, sizeof(read_buf));
2900
2901 s.reset(read_data, sizeof(read_data));
2902 memset(read_buf, 0, sizeof(read_buf));
2903 bool called = false;
2904 boost::asio::async_read(s, buffers, boost::asio::transfer_all(),
2905 bindns::bind(async_read_handler,
2906 _1, _2, sizeof(read_data), &called));
2907 ioc.restart();
2908 ioc.run();
2909 BOOST_ASIO_CHECK(called);
2910 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2911
2912 s.reset(read_data, sizeof(read_data));
2913 s.next_read_length(1);
2914 memset(read_buf, 0, sizeof(read_buf));
2915 called = false;
2916 boost::asio::async_read(s, buffers, boost::asio::transfer_all(),
2917 bindns::bind(async_read_handler,
2918 _1, _2, sizeof(read_data), &called));
2919 ioc.restart();
2920 ioc.run();
2921 BOOST_ASIO_CHECK(called);
2922 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2923
2924 s.reset(read_data, sizeof(read_data));
2925 s.next_read_length(10);
2926 memset(read_buf, 0, sizeof(read_buf));
2927 called = false;
2928 boost::asio::async_read(s, buffers, boost::asio::transfer_all(),
2929 bindns::bind(async_read_handler,
2930 _1, _2, sizeof(read_data), &called));
2931 ioc.restart();
2932 ioc.run();
2933 BOOST_ASIO_CHECK(called);
2934 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2935
2936 s.reset(read_data, sizeof(read_data));
2937 memset(read_buf, 0, sizeof(read_buf));
2938 called = false;
2939 boost::asio::async_read(s, buffers, boost::asio::transfer_at_least(1),
2940 bindns::bind(async_read_handler,
2941 _1, _2, sizeof(read_data), &called));
2942 ioc.restart();
2943 ioc.run();
2944 BOOST_ASIO_CHECK(called);
2945 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2946

Callers

nothing calls this directly

Calls 13

bufferFunction · 0.85
async_readFunction · 0.85
transfer_at_leastFunction · 0.85
transfer_exactlyFunction · 0.85
lazy_handlerClass · 0.85
restartMethod · 0.80
short_transferClass · 0.70
transfer_allClass · 0.50
bindFunction · 0.50
resetMethod · 0.45
runMethod · 0.45
check_buffersMethod · 0.45

Tested by

no test coverage detected