| 2160 | } |
| 2161 | |
| 2162 | void test_3_arg_const_buffer_async_write() |
| 2163 | { |
| 2164 | namespace bindns = std; |
| 2165 | using bindns::placeholders::_1; |
| 2166 | using bindns::placeholders::_2; |
| 2167 | |
| 2168 | boost::asio::io_context ioc; |
| 2169 | test_stream s(ioc); |
| 2170 | boost::asio::const_buffer buffers |
| 2171 | = boost::asio::buffer(write_data, sizeof(write_data)); |
| 2172 | |
| 2173 | s.reset(); |
| 2174 | bool called = false; |
| 2175 | boost::asio::async_write(s, buffers, |
| 2176 | bindns::bind(async_write_handler, |
| 2177 | _1, _2, sizeof(write_data), &called)); |
| 2178 | ioc.restart(); |
| 2179 | ioc.run(); |
| 2180 | BOOST_ASIO_CHECK(called); |
| 2181 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); |
| 2182 | |
| 2183 | s.reset(); |
| 2184 | s.next_write_length(1); |
| 2185 | called = false; |
| 2186 | boost::asio::async_write(s, buffers, |
| 2187 | bindns::bind(async_write_handler, |
| 2188 | _1, _2, sizeof(write_data), &called)); |
| 2189 | ioc.restart(); |
| 2190 | ioc.run(); |
| 2191 | BOOST_ASIO_CHECK(called); |
| 2192 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); |
| 2193 | |
| 2194 | s.reset(); |
| 2195 | s.next_write_length(10); |
| 2196 | called = false; |
| 2197 | boost::asio::async_write(s, buffers, |
| 2198 | bindns::bind(async_write_handler, |
| 2199 | _1, _2, sizeof(write_data), &called)); |
| 2200 | ioc.restart(); |
| 2201 | ioc.run(); |
| 2202 | BOOST_ASIO_CHECK(called); |
| 2203 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); |
| 2204 | |
| 2205 | s.reset(); |
| 2206 | int i = boost::asio::async_write(s, buffers, archetypes::lazy_handler()); |
| 2207 | BOOST_ASIO_CHECK(i == 42); |
| 2208 | ioc.restart(); |
| 2209 | ioc.run(); |
| 2210 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); |
| 2211 | |
| 2212 | s.reset(); |
| 2213 | called = false; |
| 2214 | boost::asio::async_write(s, buffers)( |
| 2215 | bindns::bind(async_write_handler, |
| 2216 | _1, _2, sizeof(write_data), &called)); |
| 2217 | ioc.restart(); |
| 2218 | ioc.run(); |
| 2219 | BOOST_ASIO_CHECK(called); |
nothing calls this directly
no test coverage detected