MCPcopy Create free account
hub / github.com/chronoxor/CppServer / watchdog_requests

Method watchdog_requests

proto/simple_protocol.cpp:385–407  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

383}
384
385void Client::watchdog_requests(uint64_t utc)
386{
387 auto it_request_by_timestamp_SimpleResponse = _requests_by_timestamp_SimpleResponse.begin();
388 while (it_request_by_timestamp_SimpleResponse != _requests_by_timestamp_SimpleResponse.end())
389 {
390 auto& it_request_by_id_SimpleResponse = _requests_by_id_SimpleResponse[it_request_by_timestamp_SimpleResponse->second];
391 auto id = it_request_by_timestamp_SimpleResponse->second;
392 auto timestamp = std::get<0>(it_request_by_id_SimpleResponse);
393 auto timespan = std::get<1>(it_request_by_id_SimpleResponse);
394 if ((timestamp + timespan) <= utc)
395 {
396 auto& promise = std::get<2>(it_request_by_id_SimpleResponse);
397 promise.set_exception(std::make_exception_ptr(std::runtime_error("Timeout!")));
398 _requests_by_id_SimpleResponse.erase(id);
399 _requests_by_timestamp_SimpleResponse.erase(timestamp);
400 it_request_by_timestamp_SimpleResponse = _requests_by_timestamp_SimpleResponse.begin();
401 continue;
402 }
403 else
404 break;
405 }
406
407}
408
409} // namespace simple
410

Callers

nothing calls this directly

Calls 3

beginMethod · 0.80
endMethod · 0.80
eraseMethod · 0.80

Tested by

no test coverage detected