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

Function test_4_arg_streambuf_read

test/read.cpp:2164–2454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2162}
2163
2164void test_4_arg_streambuf_read()
2165{
2166#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
2167 boost::asio::io_context ioc;
2168 test_stream s(ioc);
2169 boost::asio::streambuf sb(sizeof(read_data));
2170
2171 s.reset(read_data, sizeof(read_data));
2172 sb.consume(sb.size());
2173 boost::system::error_code error;
2174 size_t bytes_transferred = boost::asio::read(s, sb,
2175 boost::asio::transfer_all(), error);
2176 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
2177 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
2178 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
2179 BOOST_ASIO_CHECK(!error);
2180
2181 s.reset(read_data, sizeof(read_data));
2182 s.next_read_length(1);
2183 sb.consume(sb.size());
2184 error = boost::system::error_code();
2185 bytes_transferred = boost::asio::read(s, sb,
2186 boost::asio::transfer_all(), error);
2187 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
2188 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
2189 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
2190 BOOST_ASIO_CHECK(!error);
2191
2192 s.reset(read_data, sizeof(read_data));
2193 s.next_read_length(10);
2194 sb.consume(sb.size());
2195 error = boost::system::error_code();
2196 bytes_transferred = boost::asio::read(s, sb,
2197 boost::asio::transfer_all(), error);
2198 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
2199 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
2200 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
2201 BOOST_ASIO_CHECK(!error);
2202
2203 s.reset(read_data, sizeof(read_data));
2204 sb.consume(sb.size());
2205 error = boost::system::error_code();
2206 bytes_transferred = boost::asio::read(s, sb,
2207 boost::asio::transfer_at_least(1), error);
2208 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
2209 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
2210 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data)));
2211 BOOST_ASIO_CHECK(!error);
2212
2213 s.reset(read_data, sizeof(read_data));
2214 s.next_read_length(1);
2215 sb.consume(sb.size());
2216 error = boost::system::error_code();
2217 bytes_transferred = boost::asio::read(s, sb,
2218 boost::asio::transfer_at_least(1), error);
2219 BOOST_ASIO_CHECK(bytes_transferred == 1);
2220 BOOST_ASIO_CHECK(sb.size() == 1);
2221 BOOST_ASIO_CHECK(s.check_buffers(sb.data(), 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