sgns::sgprocessing::ExecutionContext¶
#include <execution_context.hpp>
Public Functions¶
| Name | |
|---|---|
| ExecutionContext() =default | |
| ExecutionContext(const ExecutionContext & ) =delete | |
| ExecutionContext & | operator=(const ExecutionContext & ) =delete |
| ExecutionContext(ExecutionContext && ) =delete | |
| ExecutionContext & | operator=(ExecutionContext && ) =delete |
| std::unique_ptr< ExecutionContext > | NoOp() |
Public Attributes¶
| Name | |
|---|---|
| CancellationToken | cancelToken Per-job cancellation token (D-02) |
| std::function< void(ProgressEvent)> | progressCallback Processor calls at stage boundaries (D-10) |
| std::function< void(const std::vector< uint8_t > &quantizedBytes, const std::vector< uint8_t > &preQuantizeBytes)> | rawOutputCapture |
| uint64_t | deadlineMs Per-pass wall-clock deadline in ms; 0 = no deadline (D-08) |
| uint64_t | gpuMemoryBudget Estimated GPU memory in bytes; 0 = no budget (D-08) |
| uint64_t | maxOutputArtifactBytes Max output artifact size in bytes; 0 = no budget (D-08) |
Detailed Description¶
Bundles everything a processor needs for an execution (D-01, D-02, D-06, D-08, D-10).
One ExecutionContext per job (D-02), shared across all passes in the job's pass graph.
Public Functions Documentation¶
function ExecutionContext¶
function ExecutionContext¶
function operator=¶
function ExecutionContext¶
function operator=¶
function NoOp¶
Returns a fully no-op ExecutionContext as a heap-allocated unique_ptr. Used in tests. ExecutionContext is non-copyable, non-movable due to CancellationToken containing std::atomic
Public Attributes Documentation¶
variable cancelToken¶
Per-job cancellation token (D-02)
variable progressCallback¶
Processor calls at stage boundaries (D-10)
variable rawOutputCapture¶
std::function< void(const std::vector< uint8_t > &quantizedBytes, const std::vector< uint8_t > &preQuantizeBytes)> rawOutputCapture;
Capture-only hook: fires with (quantized bytes, pre-quantize bytes) at each processor's existing hash call site. Stays unset (nullptr) in production job execution; only tools/capture/capture_harness.cpp (Wave 3) ever sets this. Mirrors progressCallback's opt-in injection pattern via ExecutionContext, not a new StartProcessing() parameter.
variable deadlineMs¶
Per-pass wall-clock deadline in ms; 0 = no deadline (D-08)
variable gpuMemoryBudget¶
Estimated GPU memory in bytes; 0 = no budget (D-08)
variable maxOutputArtifactBytes¶
Max output artifact size in bytes; 0 = no budget (D-08)
Updated on 2026-09-17 at 06:29:14 +0000