Skip to content

Commit

Permalink
WiP
Browse files Browse the repository at this point in the history
  • Loading branch information
AnarManafov committed Jan 29, 2025
1 parent b797af2 commit 5b4a5de
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 1 deletion.
86 changes: 86 additions & 0 deletions dds-tools-lib/src/ToolsProtocol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ constexpr const char* SSlotInfoRequestData::_protocolTag;
constexpr const char* SAgentCountRequestData::_protocolTag;
constexpr const char* SCommanderInfoRequestData::_protocolTag;
constexpr const char* SDoneResponseData::_protocolTag;
constexpr const char* SRMSJobInfoRequestData::_protocolTag;
constexpr const char* SRMSJobInfoResponseData::_protocolTag;

///////////////////////////////////
// SProgressResponseData
Expand Down Expand Up @@ -723,3 +725,87 @@ namespace dds
}
} // namespace tools_api
} // namespace dds

///////////////////////////////////
// SRMSJobInfoRequestData
///////////////////////////////////

SRMSJobInfoRequestData::SRMSJobInfoRequestData()
{
}

SRMSJobInfoRequestData::SRMSJobInfoRequestData(const boost::property_tree::ptree& _pt)
{
fromPT(_pt);
}

void SRMSJobInfoRequestData::_toPT(boost::property_tree::ptree& _pt) const
{
_pt.put<std::string>("submissionID", m_submissionID);
}

void SRMSJobInfoRequestData::_fromPT(const boost::property_tree::ptree& _pt)
{
m_submissionID = _pt.get<std::string>("submissionID", "");
}

bool SRMSJobInfoRequestData::operator==(const SRMSJobInfoRequestData& _val) const
{
return (SBaseData::operator==(_val) && m_submissionID == _val.m_submissionID);
}

namespace dds
{
namespace tools_api
{
std::ostream& operator<<(std::ostream& _os, const SRMSJobInfoRequestData& _data)
{
return _os << _data.defaultToString() << "; submissionID: " << _data.m_submissionID;
}
} // namespace tools_api
} // namespace dds

///////////////////////////////////
// SRMSJobInfoResponseData
///////////////////////////////////

SRMSJobInfoResponseData::SRMSJobInfoResponseData()
{
}

SRMSJobInfoResponseData::SRMSJobInfoResponseData(const boost::property_tree::ptree& _pt)
{
fromPT(_pt);
}

void SRMSJobInfoResponseData::_toPT(boost::property_tree::ptree& _pt) const
{
_pt.put<uint32_t>("allocNodes", m_allocNodes);
_pt.put<uint32_t>("state", m_state);
_pt.put<std::string>("jobName", m_jobName);
}

void SRMSJobInfoResponseData::_fromPT(const boost::property_tree::ptree& _pt)
{
m_allocNodes = _pt.get<uint32_t>("allocNodes", 0);
m_state = _pt.get<uint32_t>("state", 0);
m_jobName = _pt.get<std::string>("jobName", "");
}

bool SRMSJobInfoResponseData::operator==(const SRMSJobInfoResponseData& _val) const
{
return (SBaseData::operator==(_val) && m_allocNodes == _val.m_allocNodes && m_state == _val.m_state &&
m_jobName == _val.m_jobName);
}

namespace dds
{
namespace tools_api
{
std::ostream& operator<<(std::ostream& _os, const SRMSJobInfoResponseData& _data)
{
return _os << _data.defaultToString() << "; allocNodes: " << _data.m_allocNodes
<< "; state: " << _data.m_state << "; jobName: " << _data.m_jobName;
}
} // namespace tools_api
} // namespace dds
51 changes: 50 additions & 1 deletion dds-tools-lib/src/ToolsProtocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <chrono>
#include <ostream>
#include <string>
//// BOOST
// BOOST
#include <boost/property_tree/ptree.hpp>
// DDS
#include "Intercom.h"
Expand Down Expand Up @@ -398,6 +398,55 @@ namespace dds

/// \brief Request class of submit.
using SAgentCommandRequest = SBaseRequestImpl<SAgentCommandRequestData, SEmptyResponseData>;

/// \brief Structure holds information of RMS job info request.
struct SRMSJobInfoRequestData : SBaseRequestData<SRMSJobInfoRequestData>
{
SRMSJobInfoRequestData();
SRMSJobInfoRequestData(const boost::property_tree::ptree& _pt);

std::string m_submissionID; ///< Submission ID.

private:
friend SBaseData<SRMSJobInfoRequestData>;
void _fromPT(const boost::property_tree::ptree& _pt);
void _toPT(boost::property_tree::ptree& _pt) const;
static constexpr const char* _protocolTag = "rmsJobInfo";

public:
/// \brief Equality operator.
bool operator==(const SRMSJobInfoRequestData& _val) const;
/// \brief Ostream operator.
friend std::ostream& operator<<(std::ostream& _os, const SRMSJobInfoRequestData& _data);
};

/// \brief Structure holds information of RMS job info response.
struct SRMSJobInfoResponseData : SBaseResponseData<SRMSJobInfoResponseData>
{
SRMSJobInfoResponseData();
SRMSJobInfoResponseData(const boost::property_tree::ptree& _pt);

uint32_t m_allocNodes; ///< Allocated nodes.
uint32_t m_state; ///< Job state.
std::string m_jobName; ///< Job name.

private:
friend SBaseData<SRMSJobInfoResponseData>;
friend SBaseResponseData<SRMSJobInfoResponseData>;
void _fromPT(const boost::property_tree::ptree& _pt);
void _toPT(boost::property_tree::ptree& _pt) const;
static constexpr const char* _protocolTag = "rmsJobInfo";

public:
/// \brief Equality operator.
bool operator==(const SRMSJobInfoResponseData& _val) const;
/// \brief Ostream operator.
friend std::ostream& operator<<(std::ostream& _os, const SRMSJobInfoResponseData& _data);
};

/// \brief Request class of RMS job info.
using SRMSJobInfoRequest = SBaseRequestImpl<SRMSJobInfoRequestData, SRMSJobInfoResponseData>;

} // namespace tools_api
} // namespace dds

Expand Down
2 changes: 2 additions & 0 deletions dds-tools-lib/src/ToolsProtocolCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,8 @@ namespace dds
struct SDoneResponseData;
struct SMessageResponseData;
struct SProgressResponseData;
struct SRMSJobInfoRequestData;
struct SRMSJobInfoResponseData;

template <class TRequest, class TResponse>
struct SBaseRequestImpl
Expand Down

0 comments on commit 5b4a5de

Please sign in to comment.