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

Function test_3_arg_vector_buffers_read

test/read.cpp:652–862  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

650}
651
652void test_3_arg_vector_buffers_read()
653{
654 boost::asio::io_context ioc;
655 test_stream s(ioc);
656 char read_buf[sizeof(read_data)];
657 std::vector<boost::asio::mutable_buffer> buffers;
658 buffers.push_back(boost::asio::buffer(read_buf, 32));
659 buffers.push_back(boost::asio::buffer(read_buf, 39) + 32);
660 buffers.push_back(boost::asio::buffer(read_buf) + 39);
661
662 s.reset(read_data, sizeof(read_data));
663 memset(read_buf, 0, sizeof(read_buf));
664 size_t bytes_transferred = boost::asio::read(s, buffers,
665 boost::asio::transfer_all());
666 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
667 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
668
669 s.reset(read_data, sizeof(read_data));
670 s.next_read_length(1);
671 memset(read_buf, 0, sizeof(read_buf));
672 bytes_transferred = boost::asio::read(s, buffers,
673 boost::asio::transfer_all());
674 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
675 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
676
677 s.reset(read_data, sizeof(read_data));
678 s.next_read_length(10);
679 memset(read_buf, 0, sizeof(read_buf));
680 bytes_transferred = boost::asio::read(s, buffers,
681 boost::asio::transfer_all());
682 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
683 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
684
685 s.reset(read_data, sizeof(read_data));
686 memset(read_buf, 0, sizeof(read_buf));
687 bytes_transferred = boost::asio::read(s, buffers,
688 boost::asio::transfer_at_least(1));
689 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
690 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
691
692 s.reset(read_data, sizeof(read_data));
693 s.next_read_length(1);
694 memset(read_buf, 0, sizeof(read_buf));
695 bytes_transferred = boost::asio::read(s, buffers,
696 boost::asio::transfer_at_least(1));
697 BOOST_ASIO_CHECK(bytes_transferred == 1);
698 BOOST_ASIO_CHECK(s.check_buffers(buffers, 1));
699
700 s.reset(read_data, sizeof(read_data));
701 s.next_read_length(10);
702 memset(read_buf, 0, sizeof(read_buf));
703 bytes_transferred = boost::asio::read(s, buffers,
704 boost::asio::transfer_at_least(1));
705 BOOST_ASIO_CHECK(bytes_transferred == 10);
706 BOOST_ASIO_CHECK(s.check_buffers(buffers, 10));
707
708 s.reset(read_data, sizeof(read_data));
709 memset(read_buf, 0, sizeof(read_buf));

Callers

nothing calls this directly

Calls 9

bufferFunction · 0.85
readFunction · 0.85
transfer_at_leastFunction · 0.85
transfer_exactlyFunction · 0.85
short_transferClass · 0.70
transfer_allClass · 0.50
resetMethod · 0.45
check_buffersMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected