| 204 | } |
| 205 | |
| 206 | void TServerFramework::setConcurrentClientLimit(int64_t newLimit) { |
| 207 | if (newLimit < 1) { |
| 208 | throw std::invalid_argument("newLimit must be greater than zero"); |
| 209 | } |
| 210 | Synchronized sync(mon_); |
| 211 | limit_ = newLimit; |
| 212 | if (limit_ - clients_ > 0) { |
| 213 | mon_.notify(); |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | void TServerFramework::stop() { |
| 218 | // Order is important because serve() releases serverTransport_ when it is |