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

Function test_4_arg_vector_buffers_read

test/read.cpp:1604–1869  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1602}
1603
1604void test_4_arg_vector_buffers_read()
1605{
1606 boost::asio::io_context ioc;
1607 test_stream s(ioc);
1608 char read_buf[sizeof(read_data)];
1609 std::vector<boost::asio::mutable_buffer> buffers;
1610 buffers.push_back(boost::asio::buffer(read_buf, 32));
1611 buffers.push_back(boost::asio::buffer(read_buf, 39) + 32);
1612 buffers.push_back(boost::asio::buffer(read_buf) + 39);
1613
1614 s.reset(read_data, sizeof(read_data));
1615 memset(read_buf, 0, sizeof(read_buf));
1616 boost::system::error_code error;
1617 size_t bytes_transferred = boost::asio::read(s, buffers,
1618 boost::asio::transfer_all(), error);
1619 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1620 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1621 BOOST_ASIO_CHECK(!error);
1622
1623 s.reset(read_data, sizeof(read_data));
1624 s.next_read_length(1);
1625 memset(read_buf, 0, sizeof(read_buf));
1626 error = boost::system::error_code();
1627 bytes_transferred = boost::asio::read(s, buffers,
1628 boost::asio::transfer_all(), error);
1629 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1630 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1631 BOOST_ASIO_CHECK(!error);
1632
1633 s.reset(read_data, sizeof(read_data));
1634 s.next_read_length(10);
1635 memset(read_buf, 0, sizeof(read_buf));
1636 error = boost::system::error_code();
1637 bytes_transferred = boost::asio::read(s, buffers,
1638 boost::asio::transfer_all(), error);
1639 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1640 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1641 BOOST_ASIO_CHECK(!error);
1642
1643 s.reset(read_data, sizeof(read_data));
1644 memset(read_buf, 0, sizeof(read_buf));
1645 error = boost::system::error_code();
1646 bytes_transferred = boost::asio::read(s, buffers,
1647 boost::asio::transfer_at_least(1), error);
1648 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1649 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1650 BOOST_ASIO_CHECK(!error);
1651
1652 s.reset(read_data, sizeof(read_data));
1653 s.next_read_length(1);
1654 memset(read_buf, 0, sizeof(read_buf));
1655 error = boost::system::error_code();
1656 bytes_transferred = boost::asio::read(s, buffers,
1657 boost::asio::transfer_at_least(1), error);
1658 BOOST_ASIO_CHECK(bytes_transferred == 1);
1659 BOOST_ASIO_CHECK(s.check_buffers(buffers, 1));
1660 BOOST_ASIO_CHECK(!error);
1661

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