Skip to content

API Reference

This site anchors on v0.5.0 as its stable baseline, covering unified auto-routing, waiting, communication, task graphs and diagnostics; unreleased capabilities on master do not constitute a stability commitment. Complete signatures, defaults, error codes and compatibility semantics are maintained only in the repository's docs/API.md, so the site and the repository never carry two competing versions of the truth.

Locate by module first

ModuleFacade / typesLearning entryFull API docs
Lifecycleinstance, standalone instances, initialize[_ex], shutdownLifecycleLifecycle and configuration chapters of docs/API.md.
Regular tasks and routingsubmit_auto, TaskOptions, RoutingDecision, submitExecution Models and Routing Boundaries, Task Inputs and OwnershipExecutor template API.
Periodic and batchsubmit_periodic, cancel_task, periodic status, three batch flavorsDelayed and Periodic, BatchFacade timer and batch chapters.
Task graphssubmit_with_handle, submit_after[_with_handle], when_allTask DependenciesTask dependency chapter.
Failure and waitingfailure callback/status, recent failures, wait_for_completion[_ex], completion statusFailure Observability, Bounded WaitingFailure, waiting and type chapters.
Monitoringenable_monitoring, sampling rate, task statisticsMonitoring and SamplingMonitoring API chapter.
Communicationexecutor::comm: channel, mailbox, snapshot, phaseChoosing Communication ComponentsCommunication API chapters.
Cancellation and timerssubmit_cancellable*, request_task_cancel, TimerHandle, ScopedTimerHandleCancellation and TimersCancellation and timer API chapters.
Serial dispatch and total admissionsubmit_on[_with_handle], SerialExecutionContext, max_in_flight_tasks, CapacityExhaustedExceptionCapacity and Alerting, Event Loop InteropAdmission and serial dispatch chapters.
Realtime_ex registration/start, push, status, task listRealtime Control LoopsRealtime task API.
GPU_ex registration, submit_gpu, status, submit_auto, schedulerGPU TopicGPU API and build docs.
Bounded dispatch and workersdispatch_auto, DispatchResult, start_worker, WorkerHandleChoosing a Submit API, Blocking I/O WorkersRouting and Blocking I/O API.
AdvancedExecutorManager, executor pointers, ICycleManager, LockFreeTaskExecutorAdvanced and InternalsAdvanced interfaces and design docs.

Facade coverage index

The table below is the pre-release checklist: every public Executor facade family has at least one tutorial, guide or reference entry. It does not replace overload signatures.

Interface familyDefault entryPoints needing further confirmation
instance, standalone construction, initialize[_ex], shutdownQuick startConfiguration, resource isolation and shutdown strategy.
submit_auto, submit, priority, delayed, periodic, batchScenario tutorials and submit selectionfutures, routing decisions, periodic status, backpressure and benchmarks.
handles, dependencies, joinsTask dependency tutorialsame-instance limits, failure propagation and task-graph scale.
failure, recent buffer, waiting, completion snapshotsReliability and waiting tutorialsFailureKind, WaitResult and status fields.
Monitoring and statisticsMonitoring and samplingSampling rate and statistics overhead.
submit_cancellable*, request_task_cancel, get_cancellation_statusCancellation and timers tutorialCooperative semantics, registry capacity and cancellation counters.
submit_delayed_with_handle, submit_periodic_with_handle, TimerHandle / ScopedTimerHandleCancellation and timers tutorialcancel/reschedule, terminal states and timer counters.
submit_on, submit_on_with_handle, SerialExecutionContextEvent loop interop guideFIFO ticket ordering, non-blocking dispatch and shutdown rejection.
max_in_flight_tasks, set/get_max_in_flight_tasks, get_in_flight_submissionsCapacity and alertingCovered paths, capacity rejection semantics and counters.
realtime registration, push, list and statusRealtime control tutorialPermission degradation, cycle budgets and rejection counters.
Bounded dispatch, Blocking workersExecution models and routing boundariesadmission is not completion; worker lifecycle.
register_lockfree_executor / start_ / stop_ / get_lockfree_executor_namesSubmit selection, advanced and internalsBackend lifecycle; dispatch_auto's accepted only means queue admission.
GPU registration, submission, status, auto schedulingGPU tutorialsBackend availability, streams and hardware validation.
Direct manager / executor pointersAdvanced interfacesOwnership, concurrency and lifetime responsibilities.

How to read status and results

Do not collapse every failure into one bool. Use future.get() for single tasks; ExecutorResult for diagnosable control operations; ExecutorFailureStatus plus recent events for trends; WaitResult for wait timeouts; realtime/GPU/communication each expose their own status snapshots and statistics. Communication CommStats does not flow into ExecutorFailureStatus automatically.

Entries outside the regular manual

set_timer_thread_factory_for_test() is a test-injection hook for simulating timer-thread creation failure; it is not a production configuration API. ThreadPool, schedulers, queues and object pools under src/ are the current implementation, not guaranteed stable integration interfaces. To understand them, read Advanced and Internals; actual programs should depend only on the public headers under include/executor/.

Further reading

For upgrading existing code, read Versions and Migration; when unsure which entry point fits your current problem, start with How to Choose a Submit API.