| 102 | } |
| 103 | private: |
| 104 | void startServer(int retry_count) { |
| 105 | try { |
| 106 | socket.reset(new transport::TNonblockingServerSocket(port)); |
| 107 | server.reset(new server::TNonblockingServer(processor, socket)); |
| 108 | server->setServerEventHandler(listenHandler); |
| 109 | if (userEventBase) { |
| 110 | server->registerEvents(userEventBase.get()); |
| 111 | } |
| 112 | server->serve(); |
| 113 | } catch (const transport::TTransportException&) { |
| 114 | if (retry_count > 0) { |
| 115 | ++port; |
| 116 | startServer(retry_count - 1); |
| 117 | } else { |
| 118 | throw; |
| 119 | } |
| 120 | } |
| 121 | } |
| 122 | }; |
| 123 | |
| 124 | struct EventDeleter { |
nothing calls this directly
no test coverage detected