-void EventBase::runAfterDelay(
- Func cob,
- uint32_t milliseconds,
- TimeoutManager::InternalEnum in) {
- if (!tryRunAfterDelay(std::move(cob), milliseconds, in)) {
- folly::throwSystemError(
- "error in EventBase::runAfterDelay(), failed to schedule timeout");
- }
-}
-
-bool EventBase::tryRunAfterDelay(
- Func cob,
- uint32_t milliseconds,
- TimeoutManager::InternalEnum in) {
- CobTimeout* timeout = new CobTimeout(this, std::move(cob), in);
- if (!timeout->scheduleTimeout(milliseconds)) {
- delete timeout;
- return false;
- }
- pendingCobTimeouts_.push_back(*timeout);
- return true;
-}
-