Don't copy completion handlers:

All asynchronous operations will now be able to use move-only
CompletionHandlers.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
This commit is contained in:
Damian Jarek authored and Vinnie Falco committed 2017-12-04 12:14:40 -08:00
1 parent 3361df142c
commit 200e898f7e
15 files changed
+69 -75

No files matched your search

@@ -58,7 +58,7 @@ class stream<NextLayer>::response_op
public:
response_op(response_op&&) = default;
response_op(response_op const&) = default;
response_op(response_op const&) = delete;
template<class DeducedHandler, class... Args>
response_op(DeducedHandler&& h,
@@ -154,7 +154,7 @@ class stream<NextLayer>::accept_op
public:
accept_op(accept_op&&) = default;
accept_op(accept_op const&) = default;
accept_op(accept_op const&) = delete;
template<class DeducedHandler, class... Args>
accept_op(DeducedHandler&& h,
@@ -545,7 +545,7 @@ async_accept(
decltype(&default_decorate_res),
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
&default_decorate_res}({});
return init.result.get();
@@ -574,7 +574,7 @@ async_accept_ex(
ResponseDecorator,
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
decorator}({});
return init.result.get();
@@ -605,7 +605,7 @@ async_accept(
decltype(&default_decorate_res),
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
&default_decorate_res}.run(buffers);
return init.result.get();
@@ -641,7 +641,7 @@ async_accept_ex(
ResponseDecorator,
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
decorator}.run(buffers);
return init.result.get();
@@ -667,7 +667,7 @@ async_accept(
response_op<
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
req,
&default_decorate_res}();
@@ -699,7 +699,7 @@ async_accept_ex(
response_op<
BOOST_ASIO_HANDLER_TYPE(
AcceptHandler, void(error_code))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
req,
decorator}();
+2 -2
View File
@@ -64,7 +64,7 @@ class stream<NextLayer>::close_op
public:
close_op(close_op&&) = default;
close_op(close_op const&) = default;
close_op(close_op const&) = delete;
template<class DeducedHandler>
close_op(
@@ -447,7 +447,7 @@ async_close(close_reason const& cr, CloseHandler&& handler)
void(error_code)> init{handler};
close_op<BOOST_ASIO_HANDLER_TYPE(
CloseHandler, void(error_code))>{
init.completion_handler, *this, cr}(
std::move(init.completion_handler), *this, cr}(
{}, 0, false);
return init.result.get();
}
@@ -65,7 +65,7 @@ class stream<NextLayer>::handshake_op
public:
handshake_op(handshake_op&&) = default;
handshake_op(handshake_op const&) = default;
handshake_op(handshake_op const&) = delete;
template<class DeducedHandler, class... Args>
handshake_op(DeducedHandler&& h,
@@ -161,7 +161,7 @@ async_handshake(string_view host,
void(error_code)> init{handler};
handshake_op<BOOST_ASIO_HANDLER_TYPE(
HandshakeHandler, void(error_code))>{
init.completion_handler, *this, nullptr, host,
std::move(init.completion_handler), *this, nullptr, host,
target, &default_decorate_req}();
return init.result.get();
}
@@ -182,7 +182,7 @@ async_handshake(response_type& res,
void(error_code)> init{handler};
handshake_op<BOOST_ASIO_HANDLER_TYPE(
HandshakeHandler, void(error_code))>{
init.completion_handler, *this, &res, host,
std::move(init.completion_handler), *this, &res, host,
target, &default_decorate_req}();
return init.result.get();
}
@@ -206,7 +206,7 @@ async_handshake_ex(string_view host,
void(error_code)> init{handler};
handshake_op<BOOST_ASIO_HANDLER_TYPE(
HandshakeHandler, void(error_code))>{
init.completion_handler, *this, nullptr, host,
std::move(init.completion_handler), *this, nullptr, host,
target, decorator}();
return init.result.get();
}
@@ -231,7 +231,7 @@ async_handshake_ex(response_type& res,
void(error_code)> init{handler};
handshake_op<BOOST_ASIO_HANDLER_TYPE(
HandshakeHandler, void(error_code))>{
init.completion_handler, *this, &res, host,
std::move(init.completion_handler), *this, &res, host,
target, decorator}();
return init.result.get();
}
+3 -3
View File
@@ -62,7 +62,7 @@ class stream<NextLayer>::ping_op
public:
ping_op(ping_op&&) = default;
ping_op(ping_op const&) = default;
ping_op(ping_op const&) = delete;
template<class DeducedHandler>
ping_op(
@@ -241,7 +241,7 @@ async_ping(ping_data const& payload, WriteHandler&& handler)
void(error_code)> init{handler};
ping_op<BOOST_ASIO_HANDLER_TYPE(
WriteHandler, void(error_code))>{
init.completion_handler, *this,
std::move(init.completion_handler), *this,
detail::opcode::ping, payload}();
return init.result.get();
}
@@ -259,7 +259,7 @@ async_pong(ping_data const& payload, WriteHandler&& handler)
void(error_code)> init{handler};
ping_op<BOOST_ASIO_HANDLER_TYPE(
WriteHandler, void(error_code))>{
init.completion_handler, *this,
std::move(init.completion_handler), *this,
detail::opcode::pong, payload}();
return init.result.get();
}
+5 -5
View File
@@ -59,7 +59,7 @@ class stream<NextLayer>::read_some_op
public:
read_some_op(read_some_op&&) = default;
read_some_op(read_some_op const&) = default;
read_some_op(read_some_op const&) = delete;
template<class DeducedHandler>
read_some_op(
@@ -683,7 +683,7 @@ public:
boost::asio::associated_allocator_t<Handler>;
read_op(read_op&&) = default;
read_op(read_op const&) = default;
read_op(read_op const&) = delete;
template<class DeducedHandler>
read_op(
@@ -839,7 +839,7 @@ async_read(DynamicBuffer& buffer, ReadHandler&& handler)
DynamicBuffer,
BOOST_ASIO_HANDLER_TYPE(
ReadHandler, void(error_code, std::size_t))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
buffer,
0,
@@ -927,7 +927,7 @@ async_read_some(
DynamicBuffer,
BOOST_ASIO_HANDLER_TYPE(
ReadHandler, void(error_code, std::size_t))>{
init.completion_handler,
std::move(init.completion_handler),
*this,
buffer,
limit,
@@ -1311,7 +1311,7 @@ async_read_some(
void(error_code, std::size_t)> init{handler};
read_some_op<MutableBufferSequence, BOOST_ASIO_HANDLER_TYPE(
ReadHandler, void(error_code, std::size_t))>{
init.completion_handler,*this, buffers}(
std::move(init.completion_handler), *this, buffers}(
{}, 0, false);
return init.result.get();
}
+3 -3
View File
@@ -54,7 +54,7 @@ class stream<NextLayer>::write_some_op
public:
write_some_op(write_some_op&&) = default;
write_some_op(write_some_op const&) = default;
write_some_op(write_some_op const&) = delete;
template<class DeducedHandler>
write_some_op(
@@ -728,7 +728,7 @@ async_write_some(bool fin,
void(error_code, std::size_t)> init{handler};
write_some_op<ConstBufferSequence, BOOST_ASIO_HANDLER_TYPE(
WriteHandler, void(error_code, std::size_t))>{
init.completion_handler, *this, fin, bs}(
std::move(init.completion_handler), *this, fin, bs}(
{}, 0, false);
return init.result.get();
}
@@ -784,7 +784,7 @@ async_write(
void(error_code, std::size_t)> init{handler};
write_some_op<ConstBufferSequence, BOOST_ASIO_HANDLER_TYPE(
WriteHandler, void(error_code, std::size_t))>{
init.completion_handler, *this, true, bs}(
std::move(init.completion_handler), *this, true, bs}(
{}, 0, false);
return init.result.get();
}