Skip to content

Commit 3f40f9e

Browse files
authored
Fix compile errors with Boost >= 1.87 (#8)
That release removed many deprecated features. See https://www.boost.org/doc/libs/latest/doc/html/boost_asio/history.html#boost_asio.history.asio_1_33_0 Typical error message looks like this: In file included from /build/async_web_server_cpp-release-release-jazzy-async_web_server_cpp-2.0.1-1/include/async_web_server_cpp/websocket_connection.hpp:4, from /build/async_web_server_cpp-release-release-jazzy-async_web_server_cpp-2.0.1-1/src/websocket_connection.cpp:1: /build/async_web_server_cpp-release-release-jazzy-async_web_server_cpp-2.0.1-1/include/async_web_server_cpp/http_connection.hpp:43:52: error: expected ')' before '&' token 43 | explicit HttpConnection(boost::asio::io_service& io_service, | ~ ^ | ) /build/async_web_server_cpp-release-release-jazzy-async_web_server_cpp-2.0.1-1/include/async_web_server_cpp/http_connection.hpp:82:18: error: 'io_service' in namespace 'boost::asio' does not name a type; did you mean 'use_service'? 82 | boost::asio::io_service::strand strand_; | ^~~~~~~~~~ | use_service Test suite passes.
1 parent 9c0e4e0 commit 3f40f9e

4 files changed

Lines changed: 6 additions & 8 deletions

File tree

include/async_web_server_cpp/http_connection.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class HttpConnection : public boost::enable_shared_from_this<HttpConnection>,
4040
ReadHandler;
4141
typedef std::shared_ptr<const void> ResourcePtr;
4242

43-
explicit HttpConnection(boost::asio::io_service& io_service,
43+
explicit HttpConnection(boost::asio::io_context& io_service,
4444
HttpServerRequestHandler request_handler);
4545

4646
boost::asio::ip::tcp::socket& socket();
@@ -79,7 +79,7 @@ class HttpConnection : public boost::enable_shared_from_this<HttpConnection>,
7979
void handle_write(const boost::system::error_code& e,
8080
std::vector<ResourcePtr> resources);
8181

82-
boost::asio::io_service::strand strand_;
82+
boost::asio::io_context::strand strand_;
8383
boost::asio::ip::tcp::socket socket_;
8484
HttpServerRequestHandler request_handler_;
8585
boost::array<char, 8192> buffer_;

include/async_web_server_cpp/http_server.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class HttpServer : private boost::noncopyable
4040

4141
void handle_accept(const boost::system::error_code& e);
4242

43-
boost::asio::io_service io_service_;
43+
boost::asio::io_context io_service_;
4444
boost::asio::ip::tcp::acceptor acceptor_;
4545
std::size_t thread_pool_size_;
4646
std::vector<boost::shared_ptr<boost::thread>> threads_;

src/http_connection.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace async_web_server_cpp
77
{
88

9-
HttpConnection::HttpConnection(boost::asio::io_service& io_service,
9+
HttpConnection::HttpConnection(boost::asio::io_context& io_service,
1010
HttpServerRequestHandler handler)
1111
: strand_(io_service), socket_(io_service), request_handler_(handler),
1212
write_in_progress_(false)

src/http_server.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ HttpServer::HttpServer(const std::string& address, const std::string& port,
1313
{
1414

1515
boost::asio::ip::tcp::resolver resolver(io_service_);
16-
boost::asio::ip::tcp::resolver::query query(
17-
address, port, boost::asio::ip::resolver_query_base::flags());
18-
boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query);
16+
boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port).begin();
1917
acceptor_.open(endpoint.protocol());
2018
acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
2119
acceptor_.bind(endpoint);
@@ -33,7 +31,7 @@ void HttpServer::run()
3331
for (std::size_t i = 0; i < thread_pool_size_; ++i)
3432
{
3533
boost::shared_ptr<boost::thread> thread(new boost::thread(
36-
boost::bind(&boost::asio::io_service::run, &io_service_)));
34+
boost::bind(&boost::asio::io_context::run, &io_service_)));
3735
threads_.push_back(thread);
3836
}
3937
}

0 commit comments

Comments
 (0)