Skip to main content

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=()​

Pipeline& operator=(Pipeline&& other) noexcept

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)​

SessionId enqueue(Request 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()​

Response await(SessionId session)

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