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

Function test_4_arg_dynamic_string_read

test/read.cpp:1871–2162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1869}
1870
1871void test_4_arg_dynamic_string_read()
1872{
1873 boost::asio::io_context ioc;
1874 test_stream s(ioc);
1875 std::string data;
1876 boost::asio::dynamic_string_buffer<char, std::string::traits_type,
1877 std::string::allocator_type> sb
1878 = boost::asio::dynamic_buffer(data, sizeof(read_data));
1879
1880 s.reset(read_data, sizeof(read_data));
1881 sb.consume(sb.size());
1882 boost::system::error_code error;
1883 size_t bytes_transferred = boost::asio::read(s, sb,
1884 boost::asio::transfer_all(), error);
1885 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1886 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1887 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
1888 BOOST_ASIO_CHECK(!error);
1889
1890 s.reset(read_data, sizeof(read_data));
1891 s.next_read_length(1);
1892 sb.consume(sb.size());
1893 error = boost::system::error_code();
1894 bytes_transferred = boost::asio::read(s, sb,
1895 boost::asio::transfer_all(), error);
1896 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1897 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1898 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
1899 BOOST_ASIO_CHECK(!error);
1900
1901 s.reset(read_data, sizeof(read_data));
1902 s.next_read_length(10);
1903 sb.consume(sb.size());
1904 error = boost::system::error_code();
1905 bytes_transferred = boost::asio::read(s, sb,
1906 boost::asio::transfer_all(), error);
1907 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1908 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1909 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
1910 BOOST_ASIO_CHECK(!error);
1911
1912 s.reset(read_data, sizeof(read_data));
1913 sb.consume(sb.size());
1914 error = boost::system::error_code();
1915 bytes_transferred = boost::asio::read(s, sb,
1916 boost::asio::transfer_at_least(1), error);
1917 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1918 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1919 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
1920 BOOST_ASIO_CHECK(!error);
1921
1922 s.reset(read_data, sizeof(read_data));
1923 s.next_read_length(1);
1924 sb.consume(sb.size());
1925 error = boost::system::error_code();
1926 bytes_transferred = boost::asio::read(s, sb,
1927 boost::asio::transfer_at_least(1), error);
1928 BOOST_ASIO_CHECK(bytes_transferred == 1);

Callers

nothing calls this directly

Calls 11

readFunction · 0.85
transfer_at_leastFunction · 0.85
transfer_exactlyFunction · 0.85
short_transferClass · 0.70
transfer_allClass · 0.50
resetMethod · 0.45
consumeMethod · 0.45
sizeMethod · 0.45
check_buffersMethod · 0.45
dataMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected