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

Function test_4_arg_mutable_buffer_read

test/read.cpp:1339–1602  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1337}
1338
1339void test_4_arg_mutable_buffer_read()
1340{
1341 boost::asio::io_context ioc;
1342 test_stream s(ioc);
1343 char read_buf[sizeof(read_data)];
1344 boost::asio::mutable_buffer buffers
1345 = boost::asio::buffer(read_buf, sizeof(read_buf));
1346
1347 s.reset(read_data, sizeof(read_data));
1348 memset(read_buf, 0, sizeof(read_buf));
1349 boost::system::error_code error;
1350 size_t bytes_transferred = boost::asio::read(s, buffers,
1351 boost::asio::transfer_all(), error);
1352 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1353 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1354 BOOST_ASIO_CHECK(!error);
1355
1356 s.reset(read_data, sizeof(read_data));
1357 s.next_read_length(1);
1358 memset(read_buf, 0, sizeof(read_buf));
1359 error = boost::system::error_code();
1360 bytes_transferred = boost::asio::read(s, buffers,
1361 boost::asio::transfer_all(), error);
1362 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1363 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1364 BOOST_ASIO_CHECK(!error);
1365
1366 s.reset(read_data, sizeof(read_data));
1367 s.next_read_length(10);
1368 memset(read_buf, 0, sizeof(read_buf));
1369 error = boost::system::error_code();
1370 bytes_transferred = boost::asio::read(s, buffers,
1371 boost::asio::transfer_all(), error);
1372 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1373 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1374 BOOST_ASIO_CHECK(!error);
1375
1376 s.reset(read_data, sizeof(read_data));
1377 memset(read_buf, 0, sizeof(read_buf));
1378 error = boost::system::error_code();
1379 bytes_transferred = boost::asio::read(s, buffers,
1380 boost::asio::transfer_at_least(1), error);
1381 BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data));
1382 BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data)));
1383 BOOST_ASIO_CHECK(!error);
1384
1385 s.reset(read_data, sizeof(read_data));
1386 s.next_read_length(1);
1387 memset(read_buf, 0, sizeof(read_buf));
1388 error = boost::system::error_code();
1389 bytes_transferred = boost::asio::read(s, buffers,
1390 boost::asio::transfer_at_least(1), error);
1391 BOOST_ASIO_CHECK(bytes_transferred == 1);
1392 BOOST_ASIO_CHECK(s.check_buffers(buffers, 1));
1393 BOOST_ASIO_CHECK(!error);
1394
1395 s.reset(read_data, sizeof(read_data));
1396 s.next_read_length(10);

Callers

nothing calls this directly

Calls 9

bufferFunction · 0.85
readFunction · 0.85
transfer_at_leastFunction · 0.85
transfer_exactlyFunction · 0.85
short_transferClass · 0.70
transfer_allClass · 0.50
resetMethod · 0.45
check_buffersMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected