folly::TimekeeperScheduledExecutor

This class turns a Executor into a ScheduledExecutor.

Synopsis

Declared in <folly/executors/TimekeeperScheduledExecutor.h>

class TimekeeperScheduledExecutor
    : public ScheduledExecutor

Base Classes

NameDescription
ScheduledExecutorAn executor that supports timed scheduling. Like RxScheduler.

Type Aliases

NameDescription
Duration The duration type used for scheduling.
KeepAlive Alias for ExecutorKeepAlive, a safe pointer to an Executor.
TimePoint The time point type used for scheduling.

Member Functions

NameDescription
TimekeeperScheduledExecutor [constructor]Constructors
operator= Assignment operators
add Schedules a function to be executed as soon as possible.
addWithPriority [virtual]Enqueue a function with a given priority, where 0 is the medium priority This is up to the implementation to enforce
getNumPriorities [virtual]Returns the number of priority levels this executor supports.
now [virtual]Get this executor's notion of time. Must be threadsafe.
schedule schedule overloads
scheduleAt scheduleAt overloads

Static Member Functions

NameDescription
create Creates a TimekeeperScheduledExecutor wrapping the given parent executor.
getKeepAliveToken getKeepAliveToken overloads
invokeCatchingExns Invokes f, logging and swallowing any exception it throws.

Static Data Members

NameDescription
HI_PRI Highest schedulable priority.
LO_PRI Lowest schedulable priority.
MID_PRI Medium (default) schedulable priority.

Protected Member Functions

NameDescription
keepAliveAcquire [virtual]Acquires a keep-alive reference to this executor.
keepAliveRelease [virtual]Releases a keep-alive reference to this executor.

Protected Static Member Functions

NameDescription
isKeepAliveDummy Returns true if the KeepAlive is constructed from an executor that does not support the keep alive ref-counting functionality
keepAliveAcquire Acquires a keep-alive reference on executor.
keepAliveRelease Releases a keep-alive reference on executor.
makeKeepAlive Makes a counted (non-dummy, non-alias) keep-alive referring to executor.

Non-Member Functions

NameDescription
async_tracing::logFutureViaTrace hook invoked when a Future is rescheduled onto an executor.
async_tracing::logGetGlobalCPUExecutorTrace hook invoked when the global CPU executor is retrieved.
async_tracing::logGetImmutableCPUExecutorTrace hook invoked when the immutable CPU executor is retrieved.
async_tracing::logSemiFutureViaTrace hook invoked when a SemiFuture is rescheduled onto an executor.
async_tracing::logSetGlobalCPUExecutorTrace hook invoked when the global CPU executor is set.