// echo_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)
//
#include <boost/asio/deadline_timer.hpp>
-#include <boost/asio/io_service.hpp>
+#include <boost/asio/io_context.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/asio/spawn.hpp>
#include <boost/asio/write.hpp>
class session : public boost::enable_shared_from_this<session>
{
public:
- explicit session(boost::asio::io_service& io_service)
- : strand_(io_service),
- socket_(io_service),
- timer_(io_service)
+ explicit session(boost::asio::io_context& io_context)
+ : strand_(io_context),
+ socket_(io_context),
+ timer_(io_context)
{
}
}
}
- boost::asio::io_service::strand strand_;
+ boost::asio::io_context::strand strand_;
tcp::socket socket_;
boost::asio::deadline_timer timer_;
};
-void do_accept(boost::asio::io_service& io_service,
+void do_accept(boost::asio::io_context& io_context,
unsigned short port, boost::asio::yield_context yield)
{
- tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port));
+ tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), port));
for (;;)
{
boost::system::error_code ec;
- boost::shared_ptr<session> new_session(new session(io_service));
+ boost::shared_ptr<session> new_session(new session(io_context));
acceptor.async_accept(new_session->socket(), yield[ec]);
if (!ec) new_session->go();
}
return 1;
}
- boost::asio::io_service io_service;
+ boost::asio::io_context io_context;
- boost::asio::spawn(io_service,
+ boost::asio::spawn(io_context,
boost::bind(do_accept,
- boost::ref(io_service), atoi(argv[1]), _1));
+ boost::ref(io_context), atoi(argv[1]), _1));
- io_service.run();
+ io_context.run();
}
catch (std::exception& e)
{