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

Function test_4_arg_streambuf_read_at

test/read_at.cpp:1317–1784  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1315}
1316
1317void test_4_arg_streambuf_read_at()
1318{
1319 boost::asio::io_context ioc;
1320 test_random_access_device s(ioc);
1321 boost::asio::streambuf sb(sizeof(read_data));
1322
1323 s.reset(read_data, sizeof(read_data));
1324 sb.consume(sb.size());
1325 size_t bytes_transferred = boost::asio::read_at(s, 0, sb,
1326 boost::asio::transfer_all());
1327 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1328 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1329 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
1330
1331 s.reset(read_data, sizeof(read_data));
1332 sb.consume(sb.size());
1333 bytes_transferred = boost::asio::read_at(s, 1234, sb,
1334 boost::asio::transfer_all());
1335 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1336 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1337 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
1338
1339 s.reset(read_data, sizeof(read_data));
1340 s.next_read_length(1);
1341 sb.consume(sb.size());
1342 bytes_transferred = boost::asio::read_at(s, 0, sb,
1343 boost::asio::transfer_all());
1344 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1345 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1346 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
1347
1348 s.reset(read_data, sizeof(read_data));
1349 s.next_read_length(1);
1350 sb.consume(sb.size());
1351 bytes_transferred = boost::asio::read_at(s, 1234, sb,
1352 boost::asio::transfer_all());
1353 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1354 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1355 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
1356
1357 s.reset(read_data, sizeof(read_data));
1358 s.next_read_length(10);
1359 sb.consume(sb.size());
1360 bytes_transferred = boost::asio::read_at(s, 0, sb,
1361 boost::asio::transfer_all());
1362 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1363 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1364 BOOST_ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data)));
1365
1366 s.reset(read_data, sizeof(read_data));
1367 s.next_read_length(10);
1368 sb.consume(sb.size());
1369 bytes_transferred = boost::asio::read_at(s, 1234, sb,
1370 boost::asio::transfer_all());
1371 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1372 BOOST_ASIO_CHECK(sb.size() == sizeof(read_data));
1373 BOOST_ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data)));
1374

Callers

nothing calls this directly

Calls 11

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