| 1602 | } |
| 1603 | |
| 1604 | void 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 |
nothing calls this directly
no test coverage detected