Pipeline Components¶
See also
For complete class and member documentation, see the API Reference.
Data processing pipeline for coroutine-based task execution. All classes are in the dftracer::utils namespace.
Pipeline Components:
Overview¶
The pipeline is the top-level orchestrator that creates an executor, schedules tasks, and runs them to completion. It manages the lifecycle of worker threads, I/O backends, timer services, and the coroutine scheduler.
#include <dftracer/utils/core/pipeline/pipeline.h>
#include <dftracer/utils/core/pipeline/pipeline_config.h>
auto config = PipelineConfig()
.with_name("MyPipeline")
.with_compute_threads(8);
auto task = make_task([](CoroScope& scope) -> CoroTask<void> {
// your coroutine work here
co_return;
}, "MainTask");
Pipeline pipeline(config);
pipeline.set_source({task});
pipeline.execute(); // blocks until all tasks complete
Key Classes¶
Pipeline— Top-level orchestrator; creates executor, runs tasks to completionPipelineConfig— Fluent configuration (thread count, I/O backend, watchdog, etc.)Executor— Coroutine scheduler with worker threads, I/O backend, and timer serviceScheduler— Work-stealing task scheduler for coroutine handlesWatchdog— Monitors task execution for hangs and deadlocksCoroScope— Structured concurrency scope for spawning child coroutinesTask— DAG node with dependency tracking and coroutine body