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

Function test_4_arg_vector_buffers_write

test/write.cpp:1647–1884  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1645}
1646
1647void test_4_arg_vector_buffers_write()
1648{
1649 boost::asio::io_context ioc;
1650 test_stream s(ioc);
1651 std::vector<boost::asio::const_buffer> buffers;
1652 buffers.push_back(boost::asio::buffer(write_data, 32));
1653 buffers.push_back(boost::asio::buffer(write_data, 39) + 32);
1654 buffers.push_back(boost::asio::buffer(write_data) + 39);
1655
1656 s.reset();
1657 boost::system::error_code error;
1658 size_t bytes_transferred = boost::asio::write(s, buffers,
1659 boost::asio::transfer_all(), error);
1660 BOOST_ASIO_CHECK(bytes_transferred == sizeof(write_data));
1661 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data)));
1662 BOOST_ASIO_CHECK(!error);
1663
1664 s.reset();
1665 s.next_write_length(1);
1666 error = boost::system::error_code();
1667 bytes_transferred = boost::asio::write(s, buffers,
1668 boost::asio::transfer_all(), error);
1669 BOOST_ASIO_CHECK(bytes_transferred == sizeof(write_data));
1670 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data)));
1671 BOOST_ASIO_CHECK(!error);
1672
1673 s.reset();
1674 s.next_write_length(10);
1675 error = boost::system::error_code();
1676 bytes_transferred = boost::asio::write(s, buffers,
1677 boost::asio::transfer_all(), error);
1678 BOOST_ASIO_CHECK(bytes_transferred == sizeof(write_data));
1679 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data)));
1680 BOOST_ASIO_CHECK(!error);
1681
1682 s.reset();
1683 error = boost::system::error_code();
1684 bytes_transferred = boost::asio::write(s, buffers,
1685 boost::asio::transfer_at_least(1), error);
1686 BOOST_ASIO_CHECK(bytes_transferred == sizeof(write_data));
1687 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data)));
1688 BOOST_ASIO_CHECK(!error);
1689
1690 s.reset();
1691 s.next_write_length(1);
1692 error = boost::system::error_code();
1693 bytes_transferred = boost::asio::write(s, buffers,
1694 boost::asio::transfer_at_least(1), error);
1695 BOOST_ASIO_CHECK(bytes_transferred == 1);
1696 BOOST_ASIO_CHECK(s.check_buffers(buffers, 1));
1697 BOOST_ASIO_CHECK(!error);
1698
1699 s.reset();
1700 s.next_write_length(10);
1701 error = boost::system::error_code();
1702 bytes_transferred = boost::asio::write(s, buffers,
1703 boost::asio::transfer_at_least(1), error);
1704 BOOST_ASIO_CHECK(bytes_transferred == 10);

Callers

nothing calls this directly

Calls 9

bufferFunction · 0.85
writeFunction · 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_write_lengthMethod · 0.45

Tested by

no test coverage detected