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

Function test_3_arg_streambuf_read_at

test/read_at.cpp:239–290  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

237}
238
239void test_3_arg_streambuf_read_at()
240{
241 boost::asio::io_context ioc;
242 test_random_access_device s(ioc);
243 boost::asio::streambuf sb(sizeof(read_data));
244
245 s.reset(read_data, sizeof(read_data));
246 sb.consume(sb.size());
247 size_t bytes_transferred = boost::asio::read_at(s, 0, sb);
248 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
249 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
250 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
251
252 s.reset(read_data, sizeof(read_data));
253 sb.consume(sb.size());
254 bytes_transferred = boost::asio::read_at(s, 1234, sb);
255 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
256 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
257 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
258
259 s.reset(read_data, sizeof(read_data));
260 s.next_read_length(1);
261 sb.consume(sb.size());
262 bytes_transferred = boost::asio::read_at(s, 0, sb);
263 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
264 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
265 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
266
267 s.reset(read_data, sizeof(read_data));
268 s.next_read_length(1);
269 sb.consume(sb.size());
270 bytes_transferred = boost::asio::read_at(s, 1234, sb);
271 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
272 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
273 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
274
275 s.reset(read_data, sizeof(read_data));
276 s.next_read_length(10);
277 sb.consume(sb.size());
278 bytes_transferred = boost::asio::read_at(s, 0, sb);
279 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
280 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
281 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
282
283 s.reset(read_data, sizeof(read_data));
284 s.next_read_length(10);
285 sb.consume(sb.size());
286 bytes_transferred = boost::asio::read_at(s, 1234, sb);
287 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
288 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
289 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
290}
291
292void test_4_arg_nothrow_mutable_buffer_read_at()
293{

Callers

nothing calls this directly

Calls 7

read_atFunction · 0.85
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