#ifndef __CONNECTOR_H__ #define __CONNECTOR_H__ #define MAX_CONNECT_THREAD 16 class IoHandler; class Session; class SessionList; //================================================================================================== /// ´Ù¸¥ ¼­¹ö·ÎÀÇ ´Éµ¿Àû ¿¬°áÀ» ´ã´çÇϴ Ŭ·¡½º /** @remarks Connect(char *, WORD)¸¦ È£ÃâÇÏ¸é ±×¿¡ ´ëÇÑ ÀÛ¾÷ ¾²·¹µå°¡ »ý¼ºµÈ´Ù. @par ÀÛ¾÷ ¾²·¹µå¿¡¼­ ¼¼¼ÇÀ» Çϳª »ý¼ºÇÏ¿© ¿¬°áÀ» ½ÃµµÇÑ´Ù. @par ±× ¼¼¼ÇÀÌ ¿¬°á¿¡ ¼º°øÇÏ¸é ¼­¹öÀÇ PreConnectedList¿¡ Ãß°¡µÇ°í ½ÇÆÐÇϸé ConnectFailList¿¡ Ãß°¡µÈ´Ù. @par ¼­¹ö ¾÷µ¥ÀÌÆ®½Ã PreConnectedList¿¡ ÀÖ´Â ¼¼¼Çµé¿¡ ´ëÇØ¼­´Â OnConnect(true)°¡ È£ÃâµÇ°í, ConnectFailList¿¡ ÀÖ´Â ¼¼¼Ç¿¡ ´ëÇØ¼­´Â OnConnect(false)°¡ È£ÃâµÈ´Ù. @see Session */ //================================================================================================== // class Connector { public: Connector(); ~Connector(); void Init(IoHandler* io_handler, DWORD number_of_threads); void Connect(Session* session); void Shutdown(); private: IoHandler* io_handler_; SessionList* connecting_list_; HANDLE event_handles_[2]; bool shutdown_; DWORD number_of_threads_; HANDLE thread_handles_[MAX_CONNECT_THREAD]; friend unsigned __stdcall connect_thread(LPVOID param); }; #endif