|
proxygen
|
#include <ExecutorLoopController.h>
Public Member Functions | |
| ExecutorLoopController (folly::Executor *executor) | |
| ~ExecutorLoopController () override | |
Public Member Functions inherited from folly::fibers::LoopController | |
| virtual | ~LoopController () |
Private Member Functions | |
| void | setFiberManager (fibers::FiberManager *fm) override |
| void | schedule () override |
| void | runLoop () override |
| void | scheduleThreadSafe () override |
| void | timedSchedule (std::function< void()> func, TimePoint time) override |
Private Attributes | |
| folly::Executor * | executor_ |
| Executor::KeepAlive | executorKeepAlive_ |
| fibers::FiberManager * | fm_ {nullptr} |
Friends | |
| class | fibers::FiberManager |
Additional Inherited Members | |
Public Types inherited from folly::fibers::LoopController | |
| typedef std::chrono::steady_clock | Clock |
| typedef std::chrono::time_point< Clock > | TimePoint |
A fiber loop controller that works for arbitrary folly::Executor
Definition at line 31 of file ExecutorLoopController.h.
|
inlineexplicit |
Definition at line 22 of file ExecutorLoopController-inl.h.
|
inlineoverride |
Definition at line 25 of file ExecutorLoopController-inl.h.
|
inlineoverrideprivatevirtual |
Run FiberManager loopUntilNoReadyImpl(). May have additional logic specific to a LoopController.
Implements folly::fibers::LoopController.
Definition at line 39 of file ExecutorLoopController-inl.h.
References executor_, executorKeepAlive_, fm_, folly::getKeepAliveToken(), folly::fibers::FiberManager::hasTasks(), folly::fibers::FiberManager::loopUntilNoReadyImpl(), and folly::Executor::KeepAlive< ExecutorT >::reset().
Referenced by schedule(), and scheduleThreadSafe().
|
inlineoverrideprivatevirtual |
Called by FiberManager to schedule the loop function run at some point in the futufre.
Implements folly::fibers::LoopController.
Definition at line 31 of file ExecutorLoopController-inl.h.
References folly::Executor::add(), executor_, executorKeepAlive_, folly::getKeepAliveToken(), and runLoop().
|
inlineoverrideprivatevirtual |
Same as schedule(), but safe to call from any thread.
Implements folly::fibers::LoopController.
Definition at line 52 of file ExecutorLoopController-inl.h.
References folly::Executor::add(), executor_, fm_, folly::getKeepAliveToken(), runLoop(), and folly::fibers::FiberManager::shouldRunLoopRemote().
|
inlineoverrideprivatevirtual |
Called by FiberManager to associate itself with the LoopController.
Implements folly::fibers::LoopController.
Definition at line 27 of file ExecutorLoopController-inl.h.
References fm_.
|
inlineoverrideprivatevirtual |
Called by FiberManager to schedule some function to be run at some time.
Implements folly::fibers::LoopController.
Definition at line 61 of file ExecutorLoopController-inl.h.
|
friend |
Definition at line 47 of file ExecutorLoopController.h.
|
private |
Definition at line 37 of file ExecutorLoopController.h.
Referenced by runLoop(), schedule(), and scheduleThreadSafe().
|
private |
Definition at line 38 of file ExecutorLoopController.h.
Referenced by runLoop(), and schedule().
|
private |
Definition at line 39 of file ExecutorLoopController.h.
Referenced by runLoop(), scheduleThreadSafe(), and setFiberManager().