Skip to content

sgns::processing::SubTaskQueueAccessorImpl

Subtask queue accessor implementation.

#include <processing_subtask_queue_accessor_impl.hpp>

Inherits from sgns::processing::SubTaskQueueAccessor, std::enable_shared_from_this< SubTaskQueueAccessorImpl >

Public Types

Name
enum class FinalizationRetVal

Public Functions

Name
SubTaskQueueAccessorImpl(std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub, std::shared_ptr< ProcessingSubTaskQueueManager > subTaskQueueManager, std::shared_ptr< SubTaskResultStorage > subTaskResultStorage, std::function< void(const SGProcessing::TaskResult &)> taskResultProcessingSink, std::function< void(const std::string &)> processingErrorSink)
~SubTaskQueueAccessorImpl() override
virtual bool ConnectToSubTaskQueue(std::function< void()> onSubTaskQueueConnectedEventSink) override
virtual bool AssignSubTasks(std::list< SGProcessing::SubTask > & subTasks) override
virtual void GrabSubTask(SubTaskGrabbedCallback onSubTaskGrabbedCallback) override
virtual void CompleteSubTask(const std::string & subTaskId, const SGProcessing::SubTaskResult & subTaskResult) override
virtual bool CreateResultsChannel(const std::string & task_id) override
std::vector< std::tuple< std::string, SGProcessing::SubTaskResult > > GetResults() const

Additional inherited members

Public Types inherited from sgns::processing::SubTaskQueueAccessor

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

Public Functions inherited from sgns::processing::SubTaskQueueAccessor

Name
virtual ~SubTaskQueueAccessor() =default

Public Types Documentation

enum FinalizationRetVal

Enumerator Value Description
NOT_FINALIZED 0
FINALIZED 1
FINALIZED_BUT_NOT_OWNER 2

Public Functions Documentation

function SubTaskQueueAccessorImpl

SubTaskQueueAccessorImpl(
    std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub,
    std::shared_ptr< ProcessingSubTaskQueueManager > subTaskQueueManager,
    std::shared_ptr< SubTaskResultStorage > subTaskResultStorage,
    std::function< void(const SGProcessing::TaskResult &)> taskResultProcessingSink,
    std::function< void(const std::string &)> processingErrorSink
)

Parameters:

  • gossipPubSub PubSub host used to subscribe to result channel.
  • subTaskQueueManager In-memory queue manager.
  • subTaskResultStorage Processing results storage.
  • taskResultProcessingSink Callback invoked when task processing completes.
  • processingErrorSink Callback invoked on processing errors.

Creates subtask queue accessor implementation object.

function ~SubTaskQueueAccessorImpl

~SubTaskQueueAccessorImpl() override

function ConnectToSubTaskQueue

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

Reimplements: sgns::processing::SubTaskQueueAccessor::ConnectToSubTaskQueue

SubTaskQueueAccessor overrides

function AssignSubTasks

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

Parameters:

  • subTasks - a list of enqueued subtasks

Reimplements: sgns::processing::SubTaskQueueAccessor::AssignSubTasks

Assigns a subtask list to processing queue

function GrabSubTask

virtual void GrabSubTask(
    SubTaskGrabbedCallback onSubTaskGrabbedCallback
) override

Parameters:

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

Reimplements: sgns::processing::SubTaskQueueAccessor::GrabSubTask

Asynchronous getting of a subtask from the queue

function CompleteSubTask

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

Parameters:

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

Reimplements: sgns::processing::SubTaskQueueAccessor::CompleteSubTask

Finalizes subtask execution

function CreateResultsChannel

virtual bool CreateResultsChannel(
    const std::string & task_id
) override

Reimplements: sgns::processing::SubTaskQueueAccessor::CreateResultsChannel

function GetResults

std::vector< std::tuple< std::string, SGProcessing::SubTaskResult > > GetResults() const

Return: a vector of subtask id->results pairs

Returns available results of subtask queue


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