forked from boostorg/beast
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:
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}();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user