|
proxygen
|
#include <TimeoutController.h>
Classes | |
| struct | TimeoutHandle |
Public Types | |
| typedef std::chrono::steady_clock | Clock |
| typedef std::chrono::time_point< Clock > | TimePoint |
| typedef Clock::duration | Duration |
Public Member Functions | |
| TimeoutController (LoopController &loopController) | |
| intptr_t | registerTimeout (std::function< void()> f, Duration duration) |
| void | cancel (intptr_t id) |
| void | runTimeouts (TimePoint time) |
Private Types | |
| typedef std::queue< TimeoutHandle > | TimeoutHandleList |
| typedef std::unique_ptr< TimeoutHandleList > | TimeoutHandleListPtr |
Private Member Functions | |
| void | scheduleRun () |
Private Attributes | |
| std::vector< std::pair< Duration, TimeoutHandleListPtr > > | timeoutHandleBuckets_ |
| TimePoint | nextTimeout_ |
| LoopController & | loopController_ |
Definition at line 32 of file TimeoutController.h.
| typedef std::chrono::steady_clock folly::fibers::TimeoutController::Clock |
Definition at line 35 of file TimeoutController.h.
| typedef Clock::duration folly::fibers::TimeoutController::Duration |
Definition at line 37 of file TimeoutController.h.
|
private |
Definition at line 49 of file TimeoutController.h.
|
private |
Definition at line 51 of file TimeoutController.h.
| typedef std::chrono::time_point<Clock> folly::fibers::TimeoutController::TimePoint |
Definition at line 36 of file TimeoutController.h.
|
explicit |
Definition at line 22 of file TimeoutController.cpp.
| void folly::fibers::TimeoutController::cancel | ( | intptr_t | id | ) |
Definition at line 97 of file TimeoutController.cpp.
References folly::fibers::TimeoutController::TimeoutHandle::canceled, and bm::list.
| intptr_t folly::fibers::TimeoutController::registerTimeout | ( | std::function< void()> | f, |
| Duration | duration | ||
| ) |
Definition at line 25 of file TimeoutController.cpp.
References f, bm::list, folly::gen::move, nextTimeout_, now(), scheduleRun(), folly::detail::timeout, and timeoutHandleBuckets_.
| void folly::fibers::TimeoutController::runTimeouts | ( | TimePoint | time | ) |
Definition at line 51 of file TimeoutController.cpp.
References bm::list, max, min, nextTimeout_, now(), scheduleRun(), folly::detail::distributed_mutex::time(), and timeoutHandleBuckets_.
|
private |
Definition at line 84 of file TimeoutController.cpp.
References loopController_, nextTimeout_, folly::detail::distributed_mutex::time(), and folly::fibers::LoopController::timedSchedule().
Referenced by registerTimeout(), and runTimeouts().
|
private |
Definition at line 68 of file TimeoutController.h.
Referenced by scheduleRun().
|
private |
Definition at line 67 of file TimeoutController.h.
Referenced by registerTimeout(), runTimeouts(), and scheduleRun().
|
private |
Definition at line 66 of file TimeoutController.h.
Referenced by registerTimeout(), and runTimeouts().