nodemanager/core/IRemoteExecutor.h (27 lines of code) (raw):
#ifndef IREMOTEEXECUTOR_H
#define IREMOTEEXECUTOR_H
#include "../arguments/StartJobAndTaskArgs.h"
#include "../arguments/StartTaskArgs.h"
#include "../arguments/EndJobArgs.h"
#include "../arguments/EndTaskArgs.h"
#include "../arguments/MetricCountersConfig.h"
#include "../arguments/PeekTaskOutputArgs.h"
namespace hpc
{
namespace core
{
class IRemoteExecutor
{
public:
virtual pplx::task<web::json::value> StartJobAndTask(hpc::arguments::StartJobAndTaskArgs&& args, std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> StartTask(hpc::arguments::StartTaskArgs&& args, std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> EndJob(hpc::arguments::EndJobArgs&& args) = 0;
virtual pplx::task<web::json::value> EndTask(hpc::arguments::EndTaskArgs&& args, std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> Ping(std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> Metric(std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> MetricConfig(hpc::arguments::MetricCountersConfig&& config, std::string&& callbackUri) = 0;
virtual pplx::task<web::json::value> PeekTaskOutput(hpc::arguments::PeekTaskOutputArgs&& args) = 0;
};
}
}
#endif // IREMOTEEXECUTOR_H