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

Function test_3_arg_streambuf_read

test/read.cpp:1102–1337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1100}
1101
1102void test_3_arg_streambuf_read()
1103{
1104#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
1105 boost::asio::io_context ioc;
1106 test_stream s(ioc);
1107 boost::asio::streambuf sb(sizeof(read_data));
1108
1109 s.reset(read_data, sizeof(read_data));
1110 sb.consume(sb.size());
1111 size_t bytes_transferred = boost::asio::read(s, sb,
1112 boost::asio::transfer_all());
1113 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1114 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1115 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
1116
1117 s.reset(read_data, sizeof(read_data));
1118 s.next_read_length(1);
1119 sb.consume(sb.size());
1120 bytes_transferred = boost::asio::read(s, sb,
1121 boost::asio::transfer_all());
1122 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1123 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1124 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
1125
1126 s.reset(read_data, sizeof(read_data));
1127 s.next_read_length(10);
1128 sb.consume(sb.size());
1129 bytes_transferred = boost::asio::read(s, sb,
1130 boost::asio::transfer_all());
1131 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1132 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1133 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
1134
1135 s.reset(read_data, sizeof(read_data));
1136 sb.consume(sb.size());
1137 bytes_transferred = boost::asio::read(s, sb,
1138 boost::asio::transfer_at_least(1));
1139 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1140 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1141 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
1142
1143 s.reset(read_data, sizeof(read_data));
1144 s.next_read_length(1);
1145 sb.consume(sb.size());
1146 bytes_transferred = boost::asio::read(s, sb,
1147 boost::asio::transfer_at_least(1));
1148 BOOST_ASIO_CHECK(bytes_transferred == 1);
1149 BOOST_ASIO_CHECK(sb.size() == 1);
1150 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), 1));
1151
1152 s.reset(read_data, sizeof(read_data));
1153 s.next_read_length(10);
1154 sb.consume(sb.size());
1155 bytes_transferred = boost::asio::read(s, sb,
1156 boost::asio::transfer_at_least(1));
1157 BOOST_ASIO_CHECK(bytes_transferred == 10);
1158 BOOST_ASIO_CHECK(sb.size() == 10);
1159 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), 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