src/account/ProcessingTransaction.hpp¶
Transaction of processing data. More...
Namespaces¶
| Name |
|---|
| sgns |
Classes¶
| Name | |
|---|---|
| class | sgns::ProcessingTransaction |
Detailed Description¶
Transaction of processing data.
Date: 2024-03-11 Henrique A. Klein ([email protected])
Source code¶
#ifndef _PROCESSING_TRANSACTION_HPP_
#define _PROCESSING_TRANSACTION_HPP_
#include <string>
#include <boost/multiprecision/cpp_int.hpp>
#include "account/IGeniusTransactions.hpp"
namespace sgns
{
using namespace boost::multiprecision;
class ProcessingTransaction final : public IGeniusTransactions
{
public:
static std::shared_ptr<ProcessingTransaction> DeSerializeByteVector( const std::vector<uint8_t> &data );
static ProcessingTransaction New( std::string job_id,
std::vector<std::string> subtask_ids,
std::vector<std::string> node_addresses,
SGTransaction::DAGStruct dag );
~ProcessingTransaction() override = default;
std::vector<uint8_t> SerializeByteVector() override;
uint256_t GetJobHash() const
{
return job_hash_;
}
std::vector<std::string> GetSubtaskIDs() const
{
return subtask_ids_;
}
std::vector<std::string> GetNodeAddresses() const
{
return node_addresses_;
}
std::string GetTaskID() const
{
return job_id_;
}
std::string GetTransactionSpecificPath() const override
{
boost::format processing_fmt( GetType() + "/%s" );
processing_fmt % job_id_;
return processing_fmt.str();
}
private:
ProcessingTransaction( std::string job_id,
std::vector<std::string> subtask_ids,
std::vector<std::string> node_addresses,
SGTransaction::DAGStruct dag );
std::string job_id_;
uint256_t job_hash_;
std::vector<std::string> subtask_ids_;
std::vector<std::string> node_addresses_;
static bool Register()
{
RegisterDeserializer( "process", &ProcessingTransaction::DeSerializeByteVector );
return true;
}
static inline bool registered = Register();
};
}
#endif
Updated on 2026-03-04 at 13:10:44 -0800