diff options
Diffstat (limited to '3rdparty/asio/src/examples/cpp03/http/server2/io_context_pool.hpp')
-rw-r--r-- | 3rdparty/asio/src/examples/cpp03/http/server2/io_context_pool.hpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/3rdparty/asio/src/examples/cpp03/http/server2/io_context_pool.hpp b/3rdparty/asio/src/examples/cpp03/http/server2/io_context_pool.hpp deleted file mode 100644 index 6a573c539f6..00000000000 --- a/3rdparty/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +++ /dev/null @@ -1,57 +0,0 @@ -// -// io_context_pool.hpp -// ~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2016 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) -// - -#ifndef HTTP_SERVER2_IO_SERVICE_POOL_HPP -#define HTTP_SERVER2_IO_SERVICE_POOL_HPP - -#include <asio.hpp> -#include <vector> -#include <boost/noncopyable.hpp> -#include <boost/shared_ptr.hpp> - -namespace http { -namespace server2 { - -/// A pool of io_context objects. -class io_context_pool - : private boost::noncopyable -{ -public: - /// Construct the io_context pool. - explicit io_context_pool(std::size_t pool_size); - - /// Run all io_context objects in the pool. - void run(); - - /// Stop all io_context objects in the pool. - void stop(); - - /// Get an io_context to use. - asio::io_context& get_io_context(); - -private: - typedef boost::shared_ptr<asio::io_context> io_context_ptr; - typedef asio::executor_work_guard< - asio::io_context::executor_type> io_context_work; - - /// The pool of io_contexts. - std::vector<io_context_ptr> io_contexts_; - - /// The work that keeps the io_contexts running. - std::vector<io_context_work> work_; - - /// The next io_context to use for a connection. - std::size_t next_io_context_; -}; - -} // namespace server2 -} // namespace http - -#endif // HTTP_SERVER2_IO_SERVICE_POOL_HPP |