Verified Commit 13ae1a15 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

WIP: move converters into admire::api

parent 78364acf
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#include "admire_types.h"
#include "admire_types.hpp"

namespace admire {
namespace admire::api {

template <typename T>
struct managed_rpc_type;
@@ -36,7 +36,7 @@ struct managed_rpc_type;
template <typename T>
struct unmanaged_rpc_type;

} // namespace admire
} // namespace admire::api


////////////////////////////////////////////////////////////////////////////////
@@ -44,7 +44,7 @@ struct unmanaged_rpc_type;
////////////////////////////////////////////////////////////////////////////////

template <>
struct admire::managed_rpc_type<admire::adhoc_storage::ctx> {
struct admire::api::managed_rpc_type<admire::adhoc_storage::ctx> {

    template <typename T, auto Deleter>
    using managed_ptr = scord::utils::ctype_ptr<T, Deleter>;
@@ -65,7 +65,7 @@ struct admire::managed_rpc_type<admire::adhoc_storage::ctx> {


template <>
struct admire::managed_rpc_type<admire::adhoc_storage> {
struct admire::api::managed_rpc_type<admire::adhoc_storage> {

    template <typename T, auto Deleter>
    using rpc_storage_ptr = scord::utils::ctype_ptr<T, Deleter>;
@@ -90,7 +90,7 @@ struct admire::managed_rpc_type<admire::adhoc_storage> {
};

template <>
struct admire::managed_rpc_type<std::vector<admire::dataset>> {
struct admire::api::managed_rpc_type<std::vector<admire::dataset>> {

    template <typename T, auto Deleter>
    using managed_ptr_vector = scord::utils::ctype_ptr_vector<T, Deleter>;
@@ -122,7 +122,7 @@ struct admire::managed_rpc_type<std::vector<admire::dataset>> {
};

template <>
struct admire::managed_rpc_type<admire::job_requirements> {
struct admire::api::managed_rpc_type<admire::job_requirements> {

    template <typename T, auto Deleter>
    using rpc_requirements_ptr = scord::utils::ctype_ptr<T, Deleter>;
@@ -154,7 +154,7 @@ ADM_return_t
ADM_job_destroy(ADM_job_t job);

template <>
struct admire::managed_rpc_type<admire::job> {
struct admire::api::managed_rpc_type<admire::job> {

    template <typename T, auto Deleter>
    using rpc_job_ptr = scord::utils::ctype_ptr<T, Deleter>;
@@ -171,7 +171,7 @@ struct admire::managed_rpc_type<admire::job> {
};

template <>
struct admire::managed_rpc_type<ADM_job_t> {
struct admire::api::managed_rpc_type<ADM_job_t> {

    template <typename T, auto Deleter>
    using rpc_job_ptr = scord::utils::ctype_ptr<T, Deleter>;
@@ -187,7 +187,7 @@ struct admire::managed_rpc_type<ADM_job_t> {
};

template <>
struct admire::unmanaged_rpc_type<admire::job> {
struct admire::api::unmanaged_rpc_type<admire::job> {

    explicit unmanaged_rpc_type(const admire::job& j)
        : m_job(ADM_job_create(j.id())) {}
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ ADM_register_job(ADM_server_t server, ADM_job_requirements_t reqs,
        return rv.error();
    }

    *job = admire::unmanaged_rpc_type<admire::job>{*rv}.get();
    *job = admire::api::unmanaged_rpc_type<admire::job>{*rv}.get();

    return ADM_SUCCESS;
}
+5 −5
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@ register_job(const admire::server& srv, const admire::job_requirements& reqs) {
    LOGGER_INFO("RPC (ADM_{}) => {{job_requirements: {{{}}}}}", __FUNCTION__,
                reqs);

    auto rpc_reqs = managed_rpc_type<admire::job_requirements>{reqs};
    auto rpc_reqs = api::managed_rpc_type<admire::job_requirements>{reqs};

    ADM_register_job_in_t in{*rpc_reqs.get()};
    ADM_register_job_out_t out;
@@ -192,7 +192,7 @@ register_job(const admire::server& srv, const admire::job_requirements& reqs) {
        return tl::make_unexpected(static_cast<admire::error_code>(out.retval));
    }

    const auto rpc_job = managed_rpc_type<ADM_job_t>{out.job};
    const auto rpc_job = api::managed_rpc_type<ADM_job_t>{out.job};
    const admire::job job = rpc_job.get();

    LOGGER_INFO("RPC (ADM_{}) <= {{retval: {}, job: {{{}}}}}", __FUNCTION__,
@@ -211,8 +211,8 @@ update_job(const server& srv, const job& job, const job_requirements& reqs) {
    LOGGER_INFO("RPC ({}): {{job: {{{}}}, job_requirements: {{{}}}}}",
                "ADM_update_job", job, reqs);

    const auto rpc_job = managed_rpc_type<admire::job>{job};
    const auto rpc_reqs = managed_rpc_type<admire::job_requirements>{reqs};
    const auto rpc_job = api::managed_rpc_type<admire::job>{job};
    const auto rpc_reqs = api::managed_rpc_type<admire::job_requirements>{reqs};

    ADM_update_job_in_t in{rpc_job.get(), *rpc_reqs.get()};
    ADM_update_job_out_t out;
@@ -239,7 +239,7 @@ remove_job(const server& srv, const job& job) {

    LOGGER_INFO("RPC (ADM_{}) => {{job: {}}}", __FUNCTION__, job);

    const auto rpc_job = managed_rpc_type<admire::job>{job};
    const auto rpc_job = api::managed_rpc_type<admire::job>{job};

    ADM_remove_job_in_t in{rpc_job.get()};
    ADM_remove_job_out_t out;
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ ADM_register_job(hg_handle_t h) {

    const auto job = admire::job{42};

    const auto rpc_job = admire::unmanaged_rpc_type<admire::job>{job};
    const auto rpc_job = admire::api::unmanaged_rpc_type<admire::job>{job};
    admire::error_code rv = ADM_SUCCESS;

    out.retval = rv;