2
0
mirror of https://github.com/boostorg/asio.git synced 2026-01-24 05:32:13 +00:00

Initial merge of Networking TS compatibility.

Merged from chriskohlhoff/asio master branch as of commit
4a4d28b0d24c53236e229bd1b5f378c9964b1ebb.
This commit is contained in:
Christopher Kohlhoff
2017-10-23 14:27:36 +11:00
parent b002097359
commit b60e92b13e
617 changed files with 43380 additions and 21694 deletions

View File

@@ -9,7 +9,7 @@
//
#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>
@@ -23,10 +23,10 @@ using boost::asio::ip::tcp;
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)
{
}
@@ -76,20 +76,20 @@ private:
}
}
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();
}
@@ -105,13 +105,13 @@ int main(int argc, char* argv[])
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)
{