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

Function test_3_arg_dynamic_string_read

test/read.cpp:864–1100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

862}
863
864void test_3_arg_dynamic_string_read()
865{
866 boost::asio::io_context ioc;
867 test_stream s(ioc);
868 std::string data;
869 boost::asio::dynamic_string_buffer<char, std::string::traits_type,
870 std::string::allocator_type> sb
871 = boost::asio::dynamic_buffer(data, sizeof(read_data));
872
873 s.reset(read_data, sizeof(read_data));
874 sb.consume(sb.size());
875 size_t bytes_transferred = boost::asio::read(s, sb,
876 boost::asio::transfer_all());
877 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
878 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
879 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
880
881 s.reset(read_data, sizeof(read_data));
882 s.next_read_length(1);
883 sb.consume(sb.size());
884 bytes_transferred = boost::asio::read(s, sb,
885 boost::asio::transfer_all());
886 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
887 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
888 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
889
890 s.reset(read_data, sizeof(read_data));
891 s.next_read_length(10);
892 sb.consume(sb.size());
893 bytes_transferred = boost::asio::read(s, sb,
894 boost::asio::transfer_all());
895 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
896 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
897 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
898
899 s.reset(read_data, sizeof(read_data));
900 sb.consume(sb.size());
901 bytes_transferred = boost::asio::read(s, sb,
902 boost::asio::transfer_at_least(1));
903 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
904 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
905 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data)));
906
907 s.reset(read_data, sizeof(read_data));
908 s.next_read_length(1);
909 sb.consume(sb.size());
910 bytes_transferred = boost::asio::read(s, sb,
911 boost::asio::transfer_at_least(1));
912 BOOST_ASIO_CHECK(bytes_transferred == 1);
913 BOOST_ASIO_CHECK(sb.size() == 1);
914 BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), 1));
915
916 s.reset(read_data, sizeof(read_data));
917 s.next_read_length(10);
918 sb.consume(sb.size());
919 bytes_transferred = boost::asio::read(s, sb,
920 boost::asio::transfer_at_least(1));
921 BOOST_ASIO_CHECK(bytes_transferred == 10);

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