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¶
function ConnectToSubTaskQueue¶
virtual bool ConnectToSubTaskQueue(
std::function< void()> onSubTaskQueueConnectedEventSink
) override
Reimplements: sgns::processing::SubTaskQueueAccessor::ConnectToSubTaskQueue
SubTaskQueueAccessor overrides
function AssignSubTasks¶
Parameters:
- subTasks - a list of enqueued subtasks
Reimplements: sgns::processing::SubTaskQueueAccessor::AssignSubTasks
Assigns a subtask list to processing queue
function GrabSubTask¶
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¶
Reimplements: sgns::processing::SubTaskQueueAccessor::CreateResultsChannel
function GetResults¶
Return: a vector of subtask id->results pairs
Returns available results of subtask queue
Updated on 2026-03-04 at 13:10:43 -0800