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

Update ADM_get_pending_transfers

parent db184139
Loading
Loading
Loading
Loading
+19 −21
Original line number Diff line number Diff line
#include <fmt/format.h>
#include <engine.hpp>
#include <admire.hpp>


int
@@ -11,29 +11,27 @@ main(int argc, char* argv[]) {
        exit(EXIT_FAILURE);
    }

    scord::network::rpc_client rpc_client{"tcp"};
    rpc_client.register_rpcs();
    admire::server server{"tcp", argv[1]};

    auto endp = rpc_client.lookup(argv[1]);

    fmt::print(stdout,
               "Calling ADM_get_pending_transfers remote procedure on {} ...\n",
               argv[1]);
    ADM_get_pending_transfers_in_t in;
    in.value = NULL;
    ADM_get_pending_transfers_out_t out;

    endp.call("ADM_get_pending_transfers", &in, &out);
    ADM_job_handle_t job{};
    ADM_transfer_handle_t** tx_handles = nullptr;
    ADM_return_t ret = ADM_SUCCESS;

    try {
        ret = admire::get_pending_transfers(server, job, tx_handles);
    } catch(const std::exception& e) {
        fmt::print(stderr, "FATAL: ADM_get_pending_transfers() failed: {}\n",
                   e.what());
        exit(EXIT_FAILURE);
    }

    if(out.ret < 0) {
        fmt::print(
                stdout,
                "ADM_get_pending_transfers remote procedure not completed successfully\n");
    if(ret != ADM_SUCCESS) {
        fmt::print(stdout,
                   "ADM_get_pending_transfers() remote procedure not completed "
                   "successfully\n");
        exit(EXIT_FAILURE);
    } else {
        fmt::print(
                stdout,
                "ADM_get_pending_transfers remote procedure completed successfully\n");
    }

    fmt::print(stdout, "ADM_get_pending_transfers() remote procedure completed "
                       "successfully\n");
}
+20 −1
Original line number Diff line number Diff line
@@ -311,7 +311,26 @@ get_pending_transfers(const server& srv, ADM_job_handle_t job,
    (void) job;
    (void) pending_transfers;

    return ADM_OTHER_ERROR;
    scord::network::rpc_client rpc_client{srv.m_protocol};
    rpc_client.register_rpcs();

    auto endp = rpc_client.lookup(srv.m_address);

    LOGGER_INFO("ADM_get_pending_transfers(...)");

    // FIXME: change RPC fields to ADM_transfer_handle_t
    ADM_get_pending_transfers_in_t in{};
    ADM_get_pending_transfers_out_t out;

    endp.call("ADM_get_pending_transfers", &in, &out);

    if(out.ret < 0) {
        LOGGER_ERROR("ADM_get_pending_transfers() = {}", out.ret);
        return static_cast<ADM_return_t>(out.ret);
    }

    LOGGER_INFO("ADM_get_pending_transfers() = {}", ADM_SUCCESS);
    return ADM_SUCCESS;
}

ADM_return_t
+7 −4
Original line number Diff line number Diff line
@@ -930,6 +930,8 @@ ADM_get_pending_transfers(hg_handle_t h) {
    out.ret = 0;
    out.pending_transfers = "list";

    LOGGER_INFO("ADM_get_pending_transfers()");

    ret = margo_respond(h, &out);
    assert(ret == HG_SUCCESS);

@@ -1043,9 +1045,11 @@ ADM_set_qos_constraints_pull(hg_handle_t h) {
    if(in.scope == nullptr) {
        LOGGER_ERROR("ADM_set_qos_constraints_pull(): invalid scope (nullptr)");
    } else if(in.element_id < 0) {
        LOGGER_ERROR("ADM_set_qos_constraints_pull(): invalid element_id (< 0)");
        LOGGER_ERROR(
                "ADM_set_qos_constraints_pull(): invalid element_id (< 0)");
    } else {
        LOGGER_INFO("ADM_set_qos_constraints_pull({}, {})", in.scope, in.element_id);
        LOGGER_INFO("ADM_set_qos_constraints_pull({}, {})", in.scope,
                    in.element_id);
        if((scp == "dataset") || (scp == "node") || (scp == "job")) {
            LOGGER_INFO(
                    "ADM_set_qos_constraints_pull scope value is acceptable ({})",
@@ -1344,8 +1348,7 @@ ADM_get_statistics(hg_handle_t h) {
    } else if(in.job_step < 0) {
        LOGGER_ERROR("ADM_get_statistics(): invalid job_step (< 0)");
    } else {
        LOGGER_INFO("ADM_get_statistics ({}, {})",
                    in.job_id, in.job_step);
        LOGGER_INFO("ADM_get_statistics ({}, {})", in.job_id, in.job_step);
        out.ret = 0;
        out.job_statistics = "job_statistics";
    }