| 174 | } |
| 175 | private: |
| 176 | void startServer(int retry_count) { |
| 177 | try { |
| 178 | socket.reset(new transport::TNonblockingSSLServerSocket(port, pServerSocketFactory)); |
| 179 | server.reset(new server::TNonblockingServer(processor, socket)); |
| 180 | server->setServerEventHandler(listenHandler); |
| 181 | server->setNumIOThreads(1); |
| 182 | if (userEventBase) { |
| 183 | server->registerEvents(userEventBase.get()); |
| 184 | } |
| 185 | server->serve(); |
| 186 | } catch (const transport::TTransportException&) { |
| 187 | if (retry_count > 0) { |
| 188 | ++port; |
| 189 | startServer(retry_count - 1); |
| 190 | } else { |
| 191 | throw; |
| 192 | } |
| 193 | } |
| 194 | } |
| 195 | }; |
| 196 | |
| 197 | struct EventDeleter { |
nothing calls this directly
no test coverage detected