MACE
1.0.0
|
00001 #ifndef _MACE_RPC_RAW_TCP_SERVER_HPP_ 00002 #define _MACE_RPC_RAW_TCP_SERVER_HPP_ 00003 #include <mace/rpc/tcp/server.hpp> 00004 #include <mace/rpc/raw/tcp/connection.hpp> 00005 00006 namespace mace { namespace rpc { namespace raw { namespace tcp { 00007 00008 #ifndef BOOST_NO_TEMPLATE_ALIASES 00009 template<typename Interface, typename IODelegate> 00010 using server = mace::rpc::tcp::server<Interface,mace::rpc::raw::tcp::connection<IODelegate> >; 00011 #else // BOOST_NO_TEMPLATE_ALIASES 00012 00022 template<typename Interface, typename IODelegate=mace::rpc::raw_io> 00023 class server : public mace::rpc::tcp::server<Interface,mace::rpc::raw::tcp::connection<IODelegate> > { 00024 public: 00025 typedef mace::rpc::raw::tcp::connection<IODelegate> connection_type; 00026 00027 template<typename SessionType> 00028 server( const boost::function<boost::shared_ptr<SessionType>()>& sg, uint16_t port ) 00029 :mace::rpc::tcp::server<Interface,connection_type>( sg, port ){} 00030 00031 template<typename SessionType> 00032 server( const boost::shared_ptr<SessionType>& shared_session, uint16_t port ) 00033 :mace::rpc::tcp::server<Interface,connection_type>( shared_session, port ){} 00034 }; 00035 #endif 00036 00037 } } } } // mace::rpc::raw::tcp 00038 00039 #endif // _MACE_RPC_RAW_TCP_SERVER_HPP_