OSDN Git Service

net/server_socket.hpp: 途中な…
authormyun2 <myun2@nwhite.info>
Mon, 9 Jul 2012 08:39:11 +0000 (17:39 +0900)
committermyun2 <myun2@nwhite.info>
Mon, 9 Jul 2012 08:39:11 +0000 (17:39 +0900)
roast/include/roast/net/server_socket.hpp

index 2217bb8..d105d67 100644 (file)
 
 namespace roast
 {
-       template <typename _SocketBase>
+       template <typename _SocketBase, typename _Thread>
        class server_socket_ : public _SocketBase
        {
        private:
-               int m_port_no;
+               //int m_port_no;
 
-       public:
-               server_socket_(int listen_port_no) : m_port_no(listen_port_no) {}
-
-               /////////////////////////////////////////////////////
-               
-               template <typename _ConnectionClass>
-               bool start()
+               void _listen_thread_func(int listen_port_no)
                {
                        for(;;)
                        {
                                ServerSocketImpl::accepted_info ai;
                                SocketType accepted = listener.listen_ex(
-                                       m_setup_info.listen_port_no, ai, false,
+                                       listen_port_no, ai, false,
                                        m_setup_info.socktype, m_setup_info.family);
 
-                               ::roast::thread th;
-                               th.start();
+                               _Thread th(accepted);
+                               //th.start();
                        }
                }
+
+       public:
+               server_socket_(){}
+               //server_socket_(int listen_port_no) : m_port_no(listen_port_no) {}
+               server_socket_(int listen_port_no){ start(listen_port_no); }
+
+               //template <typename _ConnectionClass>
+               void start(int listen_port_no)
+               {
+                       ::roast::thread th(
+               }
        };
        
        typedef server_socket_<socket> tcp_server_socket, server_socket;