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

Function test_3_arg_mutable_buffer_async_read

test/read.cpp:2464–2530  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2462}
2463
2464void test_3_arg_mutable_buffer_async_read()
2465{
2466 namespace bindns = std;
2467 using bindns::placeholders::_1;
2468 using bindns::placeholders::_2;
2469
2470 boost::asio::io_context ioc;
2471 test_stream s(ioc);
2472 char read_buf[sizeof(read_data)];
2473 boost::asio::mutable_buffer buffers
2474 = boost::asio::buffer(read_buf, sizeof(read_buf));
2475
2476 s.reset(read_data, sizeof(read_data));
2477 memset(read_buf, 0, sizeof(read_buf));
2478 bool called = false;
2479 boost::asio::async_read(s, buffers,
2480 bindns::bind(async_read_handler,
2481 _1, _2, sizeof(read_data), &called));
2482 ioc.restart();
2483 ioc.run();
2484 BOOST_ASIO_CHECK(called);
2485 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2486
2487 s.reset(read_data, sizeof(read_data));
2488 s.next_read_length(1);
2489 memset(read_buf, 0, sizeof(read_buf));
2490 called = false;
2491 boost::asio::async_read(s, buffers,
2492 bindns::bind(async_read_handler,
2493 _1, _2, sizeof(read_data), &called));
2494 ioc.restart();
2495 ioc.run();
2496 BOOST_ASIO_CHECK(called);
2497 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2498
2499 s.reset(read_data, sizeof(read_data));
2500 s.next_read_length(10);
2501 memset(read_buf, 0, sizeof(read_buf));
2502 called = false;
2503 boost::asio::async_read(s, buffers,
2504 bindns::bind(async_read_handler,
2505 _1, _2, sizeof(read_data), &called));
2506 ioc.restart();
2507 ioc.run();
2508 BOOST_ASIO_CHECK(called);
2509 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2510
2511 s.reset(read_data, sizeof(read_data));
2512 memset(read_buf, 0, sizeof(read_buf));
2513 int i = boost::asio::async_read(s, buffers, archetypes::lazy_handler());
2514 BOOST_ASIO_CHECK(i == 42);
2515 ioc.restart();
2516 ioc.run();
2517 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
2518
2519 s.reset(read_data, sizeof(read_data));
2520 s.next_read_length(10);
2521 memset(read_buf, 0, sizeof(read_buf));

Callers

nothing calls this directly

Calls 9

bufferFunction · 0.85
async_readFunction · 0.85
lazy_handlerClass · 0.85
restartMethod · 0.80
bindFunction · 0.50
resetMethod · 0.45
runMethod · 0.45
check_buffersMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected