// chat_server.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)
public boost::enable_shared_from_this<chat_session>
{
public:
- chat_session(boost::asio::io_service& io_service, chat_room& room)
- : socket_(io_service),
+ chat_session(boost::asio::io_context& io_context, chat_room& room)
+ : socket_(io_context),
room_(room)
{
}
class chat_server
{
public:
- chat_server(boost::asio::io_service& io_service,
+ chat_server(boost::asio::io_context& io_context,
const tcp::endpoint& endpoint)
- : io_service_(io_service),
- acceptor_(io_service, endpoint)
+ : io_context_(io_context),
+ acceptor_(io_context, endpoint)
{
start_accept();
}
void start_accept()
{
- chat_session_ptr new_session(new chat_session(io_service_, room_));
+ chat_session_ptr new_session(new chat_session(io_context_, room_));
acceptor_.async_accept(new_session->socket(),
boost::bind(&chat_server::handle_accept, this, new_session,
boost::asio::placeholders::error));
}
private:
- boost::asio::io_service& io_service_;
+ boost::asio::io_context& io_context_;
tcp::acceptor acceptor_;
chat_room room_;
};
return 1;
}
- boost::asio::io_service io_service;
+ boost::asio::io_context io_context;
chat_server_list servers;
for (int i = 1; i < argc; ++i)
{
using namespace std; // For atoi.
tcp::endpoint endpoint(tcp::v4(), atoi(argv[i]));
- chat_server_ptr server(new chat_server(io_service, endpoint));
+ chat_server_ptr server(new chat_server(io_context, endpoint));
servers.push_back(server);
}
- io_service.run();
+ io_context.run();
}
catch (std::exception& e)
{