Skip to content

sgns::processing::SubTaskQueueAccessor

More...

#include <processing_subtask_queue_accessor.hpp>

Inherited by sgns::processing::SubTaskQueueAccessorImpl

Public Types

Name
using std::function< void(boost::optional< const SGProcessing::SubTask & >)> SubTaskGrabbedCallback

Public Functions

Name
virtual ~SubTaskQueueAccessor() =default
virtual bool ConnectToSubTaskQueue(std::function< void()> onSubTaskQueueConnectedEventSink) =0
virtual bool AssignSubTasks(std::list< SGProcessing::SubTask > & subTasks) =0
virtual void GrabSubTask(SubTaskGrabbedCallback onSubTaskGrabbedCallback) =0
virtual void CompleteSubTask(const std::string & subTaskId, const SGProcessing::SubTaskResult & subTaskResult) =0
virtual bool CreateResultsChannel(const std::string & task_id) =0

Detailed Description

class sgns::processing::SubTaskQueueAccessor;

Subtask queue accessor interface

Public Types Documentation

using SubTaskGrabbedCallback

using sgns::processing::SubTaskQueueAccessor::SubTaskGrabbedCallback = std::function<void( boost::optional<const SGProcessing::SubTask &> )>;

Public Functions Documentation

function ~SubTaskQueueAccessor

virtual ~SubTaskQueueAccessor() =default

function ConnectToSubTaskQueue

virtual bool ConnectToSubTaskQueue(
    std::function< void()> onSubTaskQueueConnectedEventSink
) =0

Parameters:

  • onSubTaskQueueConnectedEventSink hadnler which is called when subtask queue is connected

Reimplemented by: sgns::processing::SubTaskQueueAccessorImpl::ConnectToSubTaskQueue

Starts a waiting for subtasks queue

function AssignSubTasks

virtual bool AssignSubTasks(
    std::list< SGProcessing::SubTask > & subTasks
) =0

Parameters:

  • subTasks - a list of enqueued subtasks

Reimplemented by: sgns::processing::SubTaskQueueAccessorImpl::AssignSubTasks

Assigns a subtask list to processing queue

function GrabSubTask

virtual void GrabSubTask(
    SubTaskGrabbedCallback onSubTaskGrabbedCallback
) =0

Parameters:

  • onSubTaskGrabbedCallback a callback that is called when a subtask is grabbed by the local node

Reimplemented by: sgns::processing::SubTaskQueueAccessorImpl::GrabSubTask

Asynchronous getting of a subtask from the queue

function CompleteSubTask

virtual void CompleteSubTask(
    const std::string & subTaskId,
    const SGProcessing::SubTaskResult & subTaskResult
) =0

Parameters:

  • subTaskId - id of processed subtask
  • subTaskResult - result of subtask processing

Reimplemented by: sgns::processing::SubTaskQueueAccessorImpl::CompleteSubTask

Finalizes subtask execution

function CreateResultsChannel

virtual bool CreateResultsChannel(
    const std::string & task_id
) =0

Reimplemented by: sgns::processing::SubTaskQueueAccessorImpl::CreateResultsChannel


Updated on 2026-03-04 at 13:10:43 -0800