src/processing/processing_task_queue.hpp¶
Classes¶
| Name | |
|---|---|
| class | ProcessingTaskQueue |
Source code¶
#ifndef GRPC_FOR_SUPERGENIUS_PROCESSING_TASK_QUEUE_HPP
#define GRPC_FOR_SUPERGENIUS_PROCESSING_TASK_QUEUE_HPP
#include "processing/proto/SGProcessing.pb.h"
#include "outcome/outcome.hpp"
#include "crdt/atomic_transaction.hpp"
#include <list>
using namespace sgns;
class ProcessingTaskQueue
{
public:
virtual ~ProcessingTaskQueue() = default;
virtual outcome::result<void> EnqueueTask( const SGProcessing::Task &task,
const std::list<SGProcessing::SubTask> &subTasks ) = 0;
virtual bool GetSubTasks( const std::string &taskId, std::list<SGProcessing::SubTask> &subTasks ) = 0;
virtual outcome::result<std::pair<std::string, SGProcessing::Task>> GrabTask() = 0;
virtual outcome::result<std::shared_ptr<crdt::AtomicTransaction>> CompleteTask(
const std::string &taskId,
const SGProcessing::TaskResult &result ) = 0;
virtual bool IsTaskCompleted( const std::string &taskId ) = 0;
virtual void MarkTaskBad( const std::string &taskKey ) = 0;
};
#endif // GRPC_FOR_SUPERGENIUS_PROCESSING_TASK_QUEUE_HPP
Updated on 2026-03-04 at 13:10:44 -0800