(doc) Add more doc to SocketServer
This commit is contained in:
		| @@ -25,6 +25,7 @@ namespace ix | ||||
|     public: | ||||
|         using ConnectionStateFactory = std::function<std::shared_ptr<ConnectionState>()>; | ||||
|  | ||||
|         // Each connection is handled by its own worker thread. | ||||
|         // We use a list as we only care about remove and append operations. | ||||
|         using ConnectionThreads = std::list<std::pair<std::shared_ptr<ConnectionState>, | ||||
|                                                       std::thread>>; | ||||
| @@ -36,6 +37,9 @@ namespace ix | ||||
|         virtual ~SocketServer(); | ||||
|         virtual void stop(); | ||||
|  | ||||
|         // It is possible to override ConnectionState through inheritance | ||||
|         // this method allows user to change the factory by returning an object | ||||
|         // that inherits from ConnectionState but has its own methods. | ||||
|         void setConnectionStateFactory(const ConnectionStateFactory& connectionStateFactory); | ||||
|  | ||||
|         const static int kDefaultPort; | ||||
| @@ -65,15 +69,19 @@ namespace ix | ||||
|  | ||||
|         std::mutex _logMutex; | ||||
|  | ||||
|         // background thread to wait for incoming connections | ||||
|         std::atomic<bool> _stop; | ||||
|         std::thread _thread; | ||||
|  | ||||
|         // the list of (connectionState, threads) for each connections | ||||
|         ConnectionThreads _connectionsThreads; | ||||
|  | ||||
|         // used to have the main control thread for a server | ||||
|         // wait for a 'terminate' notification without busy polling | ||||
|         std::condition_variable _conditionVariable; | ||||
|         std::mutex _conditionVariableMutex; | ||||
|  | ||||
|         // | ||||
|         // the factory to create ConnectionState objects | ||||
|         ConnectionStateFactory _connectionStateFactory; | ||||
|  | ||||
|         // Methods | ||||
|   | ||||
		Reference in New Issue
	
	Block a user