/* * Copyright (c) 2017-2023 zhllxt * * author : zhllxt * email : 37792738@qq.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) */ #if defined(ASIO2_ENABLE_SSL) || defined(ASIO2_USE_SSL) #ifndef __ASIO2_RPCS_SERVER_HPP__ #define __ASIO2_RPCS_SERVER_HPP__ #if defined(_MSC_VER) && (_MSC_VER >= 1200) #pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #if __has_include() #include #include namespace asio2 { template class rpcs_server_impl_t; template class rpcs_server_impl_t : public detail::rpc_server_impl_t> { public: using detail::rpc_server_impl_t>:: rpc_server_impl_t; }; template class rpcs_server_impl_t : public detail::rpc_server_impl_t> { public: using detail::rpc_server_impl_t>:: rpc_server_impl_t; }; template class rpcs_server_t : public rpcs_server_impl_t, session_t> { public: using rpcs_server_impl_t, session_t>::rpcs_server_impl_t; }; template class rpcs_server_use : public rpcs_server_t> { public: using rpcs_server_t>::rpcs_server_t; }; #if !defined(ASIO2_USE_WEBSOCKET_RPC) /// Using tcp dgram mode as the underlying communication support using rpcs_server = rpcs_server_use; #else /// Using websocket as the underlying communication support using rpcs_server = rpcs_server_use; #endif } #if defined(ASIO2_INCLUDE_RATE_LIMIT) #include namespace asio2 { template class rpcs_rate_server_impl_t; template class rpcs_rate_server_impl_t : public detail::rpc_server_impl_t> { public: using detail::rpc_server_impl_t>:: rpc_server_impl_t; }; template class rpcs_rate_server_impl_t : public detail::rpc_server_impl_t> { public: using detail::rpc_server_impl_t>:: rpc_server_impl_t; }; template class rpcs_rate_server_t : public rpcs_rate_server_impl_t, session_t> { public: using rpcs_rate_server_impl_t, session_t>::rpcs_rate_server_impl_t; }; template class rpcs_rate_server_use : public rpcs_rate_server_t> { public: using rpcs_rate_server_t>::rpcs_rate_server_t; }; #if !defined(ASIO2_USE_WEBSOCKET_RPC) /// Using tcp dgram mode as the underlying communication support using rpcs_rate_server = rpcs_rate_server_use; #else /// Using websocket as the underlying communication support using rpcs_rate_server = rpcs_rate_server_use; #endif } #endif #endif #endif // !__ASIO2_RPCS_SERVER_HPP__ #endif