// reference_counted.cpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2017 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)
class server
{
public:
- server(boost::asio::io_service& io_service, short port)
- : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
- socket_(io_service)
+ server(boost::asio::io_context& io_context, short port)
+ : acceptor_(io_context, tcp::endpoint(tcp::v4(), port))
{
do_accept();
}
private:
void do_accept()
{
- acceptor_.async_accept(socket_,
- [this](boost::system::error_code ec)
+ acceptor_.async_accept(
+ [this](boost::system::error_code ec, tcp::socket socket)
{
if (!ec)
{
- std::make_shared<session>(std::move(socket_))->start();
+ std::make_shared<session>(std::move(socket))->start();
}
do_accept();
}
tcp::acceptor acceptor_;
- tcp::socket socket_;
};
int main(int argc, char* argv[])
return 1;
}
- boost::asio::io_service io_service;
+ boost::asio::io_context io_context;
- server s(io_service, std::atoi(argv[1]));
+ server s(io_context, std::atoi(argv[1]));
- io_service.run();
+ io_context.run();
}
catch (std::exception& e)
{