| 1408 | } |
| 1409 | |
| 1410 | void test_4_arg_mutable_buffer_write() |
| 1411 | { |
| 1412 | boost::asio::io_context ioc; |
| 1413 | test_stream s(ioc); |
| 1414 | boost::asio::mutable_buffer buffers |
| 1415 | = boost::asio::buffer(mutable_write_data, sizeof(mutable_write_data)); |
| 1416 | |
| 1417 | s.reset(); |
| 1418 | boost::system::error_code error; |
| 1419 | size_t bytes_transferred = boost::asio::write(s, buffers, |
| 1420 | boost::asio::transfer_all(), error); |
| 1421 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(mutable_write_data)); |
| 1422 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); |
| 1423 | BOOST_ASIO_CHECK(!error); |
| 1424 | |
| 1425 | s.reset(); |
| 1426 | s.next_write_length(1); |
| 1427 | error = boost::system::error_code(); |
| 1428 | bytes_transferred = boost::asio::write(s, buffers, |
| 1429 | boost::asio::transfer_all(), error); |
| 1430 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(mutable_write_data)); |
| 1431 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); |
| 1432 | BOOST_ASIO_CHECK(!error); |
| 1433 | |
| 1434 | s.reset(); |
| 1435 | s.next_write_length(10); |
| 1436 | error = boost::system::error_code(); |
| 1437 | bytes_transferred = boost::asio::write(s, buffers, |
| 1438 | boost::asio::transfer_all(), error); |
| 1439 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(mutable_write_data)); |
| 1440 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); |
| 1441 | BOOST_ASIO_CHECK(!error); |
| 1442 | |
| 1443 | s.reset(); |
| 1444 | error = boost::system::error_code(); |
| 1445 | bytes_transferred = boost::asio::write(s, buffers, |
| 1446 | boost::asio::transfer_at_least(1), error); |
| 1447 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(mutable_write_data)); |
| 1448 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); |
| 1449 | BOOST_ASIO_CHECK(!error); |
| 1450 | |
| 1451 | s.reset(); |
| 1452 | s.next_write_length(1); |
| 1453 | error = boost::system::error_code(); |
| 1454 | bytes_transferred = boost::asio::write(s, buffers, |
| 1455 | boost::asio::transfer_at_least(1), error); |
| 1456 | BOOST_ASIO_CHECK(bytes_transferred == 1); |
| 1457 | BOOST_ASIO_CHECK(s.check_buffers(buffers, 1)); |
| 1458 | BOOST_ASIO_CHECK(!error); |
| 1459 | |
| 1460 | s.reset(); |
| 1461 | s.next_write_length(10); |
| 1462 | error = boost::system::error_code(); |
| 1463 | bytes_transferred = boost::asio::write(s, buffers, |
| 1464 | boost::asio::transfer_at_least(1), error); |
| 1465 | BOOST_ASIO_CHECK(bytes_transferred == 10); |
| 1466 | BOOST_ASIO_CHECK(s.check_buffers(buffers, 10)); |
| 1467 | BOOST_ASIO_CHECK(!error); |
nothing calls this directly
no test coverage detected