Skip to content

sgns::processing::ProcessingCore

Processing core interface. More...

#include <processing_core.hpp>

Inherited by sgns::processing::ProcessingCoreImpl

Public Functions

Name
virtual ~ProcessingCore() =default
virtual outcome::result< SGProcessing::SubTaskResult > ProcessSubTask(const SGProcessing::SubTask & subTask, uint32_t initialHashCode) =0
Processes a subtask and returns the result.
virtual float GetProgress() const
Returns the progress of the processing core as a float between 0.0 and 100.0.
virtual std::shared_ptr< ProcessingTaskQueue > GetTaskQueue() const
Returns the ProcessingTaskQueue backing this ProcessingCore, if any.

Detailed Description

class sgns::processing::ProcessingCore;

Processing core interface.

Implementations encapsulate specific processing algorithms for subtasks.

Public Functions Documentation

function ~ProcessingCore

virtual ~ProcessingCore() =default

function ProcessSubTask

virtual outcome::result< SGProcessing::SubTaskResult > ProcessSubTask(
    const SGProcessing::SubTask & subTask,
    uint32_t initialHashCode
) =0

Processes a subtask and returns the result.

Parameters:

  • subTask The subtask to process
  • initialHashCode An initial hash code that can be used for processing

Return: The result of processing the subtask, or failure if processing failed

Reimplemented by: sgns::processing::ProcessingCoreImpl::ProcessSubTask

function GetProgress

inline virtual float GetProgress() const

Returns the progress of the processing core as a float between 0.0 and 100.0.

Return: The percentage of the processing of the subtask

Reimplemented by: sgns::processing::ProcessingCoreImpl::GetProgress

function GetTaskQueue

inline virtual std::shared_ptr< ProcessingTaskQueue > GetTaskQueue() const

Returns the ProcessingTaskQueue backing this ProcessingCore, if any.

Return: The backing ProcessingTaskQueue, or nullptr if unavailable.

Reimplemented by: sgns::processing::ProcessingCoreImpl::GetTaskQueue

Lets a validation-side caller (Plan 15-03) recover the originating Task's full schema (for tolerance-threshold derivation) without every ProcessingCore implementation needing to support it. The safe nullptr default means implementations that don't override it (e.g. any existing or future test mock) simply signal "no task-queue lookup available", which callers must treat as a normal, non-fatal case.


Updated on 2026-10-06 at 13:34:20 +0000