Skip to content

sgns::processing::ProcessingServiceImpl

#include <processing_service.hpp>

Inherits from std::enable_shared_from_this< ProcessingServiceImpl >

Public Classes

Name
struct ProcessingStatus

Public Types

Name
enum class Status

Public Functions

Name
ProcessingServiceImpl(std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub, size_t maximalNodesCount, std::shared_ptr< SubTaskEnqueuer > subTaskEnqueuer, std::shared_ptr< SubTaskResultStorage > subTaskResultStorage, std::shared_ptr< ProcessingCore > processingCore)
ProcessingServiceImpl(std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub, size_t maximalNodesCount, std::shared_ptr< SubTaskEnqueuer > subTaskEnqueuer, std::shared_ptr< SubTaskResultStorage > subTaskResultStorage, std::shared_ptr< ProcessingCore > processingCore, std::function< void(const std::string &subTaskQueueId, const SGProcessing::TaskResult &taskresult)> userCallbackSuccess, std::function< void(const std::string &subTaskQueueId)> userCallbackError, std::string node_address)
Constructs a processing service with user callbacks.
~ProcessingServiceImpl()
void StartProcessing(const std::string & processingGridChannelId)
void StopProcessing()
size_t GetProcessingNodesCount() const
void SetChannelListRequestTimeout(boost::posix_time::time_duration channelListRequestTimeout)
ProcessingStatus GetProcessingStatus() const

Public Types Documentation

enum Status

Enumerator Value Description
DISABLED
IDLE
PROCESSING

Public Functions Documentation

function ProcessingServiceImpl

ProcessingServiceImpl(
    std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub,
    size_t maximalNodesCount,
    std::shared_ptr< SubTaskEnqueuer > subTaskEnqueuer,
    std::shared_ptr< SubTaskResultStorage > subTaskResultStorage,
    std::shared_ptr< ProcessingCore > processingCore
)

Parameters:

  • gossipPubSub - PubSub service.
  • maximalNodesCount - Max number of processing nodes handled by the service.
  • subTaskEnqueuer - Subtask enqueuer used to dispatch tasks.
  • subTaskResultStorage - Storage for subtask results.
  • processingCore - Processing core used to execute subtasks.

Constructs a processing service.

function ProcessingServiceImpl

ProcessingServiceImpl(
    std::shared_ptr< ipfs_pubsub::GossipPubSub > gossipPubSub,
    size_t maximalNodesCount,
    std::shared_ptr< SubTaskEnqueuer > subTaskEnqueuer,
    std::shared_ptr< SubTaskResultStorage > subTaskResultStorage,
    std::shared_ptr< ProcessingCore > processingCore,
    std::function< void(const std::string &subTaskQueueId, const SGProcessing::TaskResult &taskresult)> userCallbackSuccess,
    std::function< void(const std::string &subTaskQueueId)> userCallbackError,
    std::string node_address
)

Constructs a processing service with user callbacks.

Parameters:

  • gossipPubSub PubSub service.
  • maximalNodesCount Max number of processing nodes handled by the service.
  • subTaskEnqueuer Subtask enqueuer used to dispatch tasks.
  • subTaskResultStorage Storage for subtask results.
  • processingCore Processing core used to execute subtasks.
  • userCallbackSuccess Callback invoked on successful task completion.
  • userCallbackError Callback invoked on task error.
  • node_address Local node address used in coordination.

function ~ProcessingServiceImpl

~ProcessingServiceImpl()

function StartProcessing

void StartProcessing(
    const std::string & processingGridChannelId
)

function StopProcessing

void StopProcessing()

function GetProcessingNodesCount

size_t GetProcessingNodesCount() const

function SetChannelListRequestTimeout

void SetChannelListRequestTimeout(
    boost::posix_time::time_duration channelListRequestTimeout
)

function GetProcessingStatus

ProcessingStatus GetProcessingStatus() const

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