proxygen
|
#include <InlineExecutor.h>
Public Member Functions | |
void | add (Func f) override |
Public Member Functions inherited from folly::Executor | |
virtual | ~Executor () |
virtual void | addWithPriority (Func, int8_t priority) |
virtual uint8_t | getNumPriorities () const |
Static Public Member Functions | |
FOLLY_ATTR_VISIBILITY_HIDDEN static FOLLY_ALWAYS_INLINE InlineExecutor & | instance () noexcept |
Static Public Member Functions inherited from folly::Executor | |
template<typename ExecutorT > | |
static KeepAlive< ExecutorT > | getKeepAliveToken (ExecutorT *executor) |
template<typename ExecutorT > | |
static KeepAlive< ExecutorT > | getKeepAliveToken (ExecutorT &executor) |
Static Private Member Functions | |
static FOLLY_COLD InlineExecutor & | instance_slow () noexcept |
Static Private Attributes | |
static std::atomic< InlineExecutor * > | cache |
Additional Inherited Members | |
Static Public Attributes inherited from folly::Executor | |
static const int8_t | LO_PRI = SCHAR_MIN |
static const int8_t | MID_PRI = 0 |
static const int8_t | HI_PRI = SCHAR_MAX |
Protected Member Functions inherited from folly::Executor | |
virtual bool | keepAliveAcquire () |
virtual void | keepAliveRelease () |
Static Protected Member Functions inherited from folly::Executor | |
template<typename ExecutorT > | |
static bool | isKeepAliveDummy (const KeepAlive< ExecutorT > &keepAlive) |
template<typename ExecutorT > | |
static KeepAlive< ExecutorT > | makeKeepAlive (ExecutorT *executor) |
When work is "queued", execute it immediately inline. Usually when you think you want this, you actually want a QueuedImmediateExecutor.
Definition at line 30 of file InlineExecutor.h.
|
inlineoverridevirtual |
Enqueue a function to executed by this executor. This and all variants must be threadsafe.
Implements folly::Executor.
Definition at line 38 of file InlineExecutor.h.
References f, FOLLY_COLD, instance_slow(), and folly::pushmi::__adl::noexcept().
Referenced by TEST().
|
inlinestaticnoexcept |
Definition at line 33 of file InlineExecutor.h.
References cache, instance_slow(), and folly::value().
Referenced by folly::futures::detail::chainExecutor(), folly::collect(), folly::collectAny(), folly::futures::detail::convertFuture(), folly::Future< T >::delayed(), folly::FutureSplitter< T >::getExecutorFrom(), folly::SharedPromise< T >::getFuture(), folly::Promise< T >::getFuture(), wangle::BroadcastPool< T, R, P >::BroadcastManager::getHandler(), instance_slow(), folly::Future< T >::onError(), folly::Future< T >::onTimeout(), TEST(), folly::Future< T >::thenError(), folly::SemiFuture< T >::toUnsafeFuture(), folly::unorderedReduce(), folly::futures::detail::waitImpl(), folly::futures::detail::waitViaImpl(), and folly::Future< T >::within().
|
staticprivatenoexcept |
Definition at line 23 of file InlineExecutor.cpp.
References cache, and instance().
Referenced by add(), and instance().
|
staticprivate |
Definition at line 45 of file InlineExecutor.h.
Referenced by instance(), and instance_slow().