// Copyright 2009 (c) Tarro, Inc. // Copyright 2009 (c) Dean Michael Berris // Copyright 2010 (c) Glyn Matthews // Copyright 2003-2008 (c) Chris Kholhoff // 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 BOOST_NETWORK_HTTP_SERVER_HPP_ #define BOOST_NETWORK_HTTP_SERVER_HPP_ #include #include #include #include namespace boost { namespace network { namespace http { template struct server_base { typedef unsupported_tag type; }; template struct server_base >::type> { typedef async_server_base type; }; template struct server_base >::type> { typedef sync_server_base type; }; template struct basic_server : server_base::type {}; template struct server : server_base::type { typedef typename server_base::type server_base; typedef server_options options; explicit server(options const &options) : server_base(options) {} }; template struct async_server : server_base::type { typedef typename server_base::type server_base; typedef server_options options; explicit async_server(options const &options) : server_base(options) {} }; } // namespace http } // namespace network } // namespace boost #endif // BOOST_NETWORK_HTTP_SERVER_HPP_