summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2021-11-15 04:15:13 +1100
committer Vas Crabb <vas@vastheman.com>2021-11-15 04:15:13 +1100
commit44ec6d2e0ee569202b75b73eea40972595866779 (patch)
treeb286443c264704198789514e0594dc24b3ca9f96 /3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp
parent137f254b918f1f1ebee43dfbed86793b0dae73eb (diff)
3rdparty: Updated ASIO to version 1.20.0.
The doc folder isn't included as it's pretty big. This required include/asio/detail/win_iocp_socket_accept_op.hpp due to mismatched order in the member declarations and initialiser list for the win_iocp_socket_accept_op class. I reversed the declaration order so it matches win_iocp_socket_move_accept_op.
Diffstat (limited to '3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp')
-rw-r--r--3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp b/3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp
index 5db960a9109..f46b01bc373 100644
--- a/3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp
+++ b/3rdparty/asio/src/examples/cpp03/http/server3/connection.cpp
@@ -2,7 +2,7 @@
// connection.cpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,7 +10,7 @@
#include "connection.hpp"
#include <vector>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "request_handler.hpp"
namespace http {
@@ -18,8 +18,8 @@ namespace server3 {
connection::connection(asio::io_context& io_context,
request_handler& handler)
- : strand_(io_context),
- socket_(io_context),
+ : strand_(asio::make_strand(io_context)),
+ socket_(strand_),
request_handler_(handler)
{
}
@@ -32,10 +32,9 @@ asio::ip::tcp::socket& connection::socket()
void connection::start()
{
socket_.async_read_some(asio::buffer(buffer_),
- asio::bind_executor(strand_,
- boost::bind(&connection::handle_read, shared_from_this(),
- asio::placeholders::error,
- asio::placeholders::bytes_transferred)));
+ boost::bind(&connection::handle_read, shared_from_this(),
+ asio::placeholders::error,
+ asio::placeholders::bytes_transferred));
}
void connection::handle_read(const asio::error_code& e,
@@ -51,25 +50,22 @@ void connection::handle_read(const asio::error_code& e,
{
request_handler_.handle_request(request_, reply_);
asio::async_write(socket_, reply_.to_buffers(),
- asio::bind_executor(strand_,
- boost::bind(&connection::handle_write, shared_from_this(),
- asio::placeholders::error)));
+ boost::bind(&connection::handle_write, shared_from_this(),
+ asio::placeholders::error));
}
else if (!result)
{
reply_ = reply::stock_reply(reply::bad_request);
asio::async_write(socket_, reply_.to_buffers(),
- asio::bind_executor(strand_,
- boost::bind(&connection::handle_write, shared_from_this(),
- asio::placeholders::error)));
+ boost::bind(&connection::handle_write, shared_from_this(),
+ asio::placeholders::error));
}
else
{
socket_.async_read_some(asio::buffer(buffer_),
- asio::bind_executor(strand_,
- boost::bind(&connection::handle_read, shared_from_this(),
- asio::placeholders::error,
- asio::placeholders::bytes_transferred)));
+ boost::bind(&connection::handle_read, shared_from_this(),
+ asio::placeholders::error,
+ asio::placeholders::bytes_transferred));
}
}