Executor that performs priority-based scheduling with a deadline assigned to each task.
Declared in <folly/executors/SoftRealTimeExecutor.h>
class SoftRealTimeExecutor
: public virtual Executor
Soft real-time means that not every deadline is guaranteed to be met.
| Name | Description |
|---|---|
Executor | Schedules and runs asynchronous work. |
| Name | Description |
|---|---|
KeepAlive | Alias for ExecutorKeepAlive, a safe pointer to an Executor. |
| Name | Description |
|---|---|
add | add overloads |
addWithPriority [virtual] | Enqueue a function with a given priority, where 0 is the medium priority This is up to the implementation to enforce |
deadlineExecutor | Returns an executor that schedules tasks at a fixed deadline. |
getNumPriorities [virtual] | Returns the number of priority levels this executor supports. |
| Name | Description |
|---|---|
getKeepAliveToken | getKeepAliveToken overloads |
invokeCatchingExns | Invokes f, logging and swallowing any exception it throws. |
| Name | Description |
|---|---|
HI_PRI | Highest schedulable priority. |
LO_PRI | Lowest schedulable priority. |
MID_PRI | Medium (default) schedulable priority. |
| Name | Description |
|---|---|
add | Inherits the deadline-free add overloads from Executor. |
| Name | Description |
|---|---|
keepAliveAcquire [virtual] | Acquire a keep alive token. Should return false if keep-alive mechanism is not supported. |
keepAliveRelease [virtual] | Release a keep alive token previously acquired by keepAliveAcquire(). Will never be called if keepAliveAcquire() returns false. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
async_tracing::logFutureVia | Trace hook invoked when a Future is rescheduled onto an executor. |
async_tracing::logGetGlobalCPUExecutor | Trace hook invoked when the global CPU executor is retrieved. |
async_tracing::logGetImmutableCPUExecutor | Trace hook invoked when the immutable CPU executor is retrieved. |
async_tracing::logSemiFutureVia | Trace hook invoked when a SemiFuture is rescheduled onto an executor. |
async_tracing::logSetGlobalCPUExecutor | Trace hook invoked when the global CPU executor is set. |
| Name | Description |
|---|---|
StripedEDFThreadPoolExecutor | An approximate implementation of an Earliest Deadline First executor. |