ClikaRT::runtime::Pipeline
class
Header: ClikaRT/runtime/pipeline.h
A multi-step serving ensemble: each step wraps a Model with its own executor tuning, wired by input/output name maps into one request/response surface.
Build with create(steps, external_schema); enqueue/await follow the Executor surface. Move-only handle.
Static member functions
create()
static Pipeline create(std::vector<PipelineStep> steps, ModelSchema external_schema = {})
Build a pipeline from its steps (in flow order) and the pipeline's external I/O schema (the request inputs it accepts + the response outputs it emits). Each step's Model is contained HERE (in your translation unit) so an override's throw is caught caller-side and fails the session; it never unwinds into the engine.
Declared in ClikaRT/runtime/pipeline.h, line 56
Member functions
Pipeline()
Pipeline(Pipeline&& other) noexcept
Declared in ClikaRT/runtime/pipeline.h, line 74
operator=()
Move-only handle; the moved-from object is empty.
Declared in ClikaRT/runtime/pipeline.h, line 76
~Pipeline()
~Pipeline()
Implicitly shuts down every step's engine.
Declared in ClikaRT/runtime/pipeline.h, line 78
enqueue(Request)
Submit a request; returns its session handle. Non-blocking. The request is validated against the pipeline's external schema before anything runs: every non-optional input present, each supplied input's dtype, rank and every concrete dim as declared (a spec that declares no dims constrains the dtype alone), and inputs sharing a dim_names entry agreeing on that extent; a violation is refused here with Status::InvalidArgument naming the input. An input the schema does not declare is carried through untouched (a step's phase body may read it).
Declared in ClikaRT/runtime/pipeline.h, line 90
enqueue(Request, RequestCallbacks)
SessionId enqueue(Request request, RequestCallbacks callbacks)
Submit a request; returns its session handle. Non-blocking. The request is validated against the pipeline's external schema before anything runs: every non-optional input present, each supplied input's dtype, rank and every concrete dim as declared (a spec that declares no dims constrains the dtype alone), and inputs sharing a dim_names entry agreeing on that extent; a violation is refused here with Status::InvalidArgument naming the input. An input the schema does not declare is carried through untouched (a step's phase body may read it).
Declared in ClikaRT/runtime/pipeline.h, line 96
await()
Block until session completes; return its final response.
Declared in ClikaRT/runtime/pipeline.h, line 119
cancel()
void cancel(SessionId session)
Cooperatively cancel an in-flight session: the step holding it stops at its next step boundary, no later step starts, and await() or the session's on_complete report the cancellation (code_name() "CANCELLED"). A canceled session never marks a chunk final. A session that already completed is a no-op; a session this pipeline never issued is a NotFound-status error.
Declared in ClikaRT/runtime/pipeline.h, line 128
shutdown()
void shutdown()
Drain in-flight work and stop. When shutdown() returns, every accepted session has completed and await() still returns its result. A later enqueue() is refused with an InvalidArgument-status error whose code_name() is "FAILED_PRECONDITION".
Declared in ClikaRT/runtime/pipeline.h, line 135