Loading examples/ADM_get_qos_constraints.cpp +14 −24 Original line number Diff line number Diff line #include <fmt/format.h> #include <engine.hpp> #include <admire.hpp> int Loading @@ -13,36 +13,26 @@ 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]); ADM_job_handle_t job{}; ADM_qos_scope_t scope{}; ADM_qos_entity_t entity{}; ADM_limit_t* limits; ADM_return_t ret = ADM_SUCCESS; fmt::print( stdout, "Calling ADM_get_qos_constraints remote procedure on {} with scope {} and element id {} ...\n", argv[1], argv[2], argv[3]); ADM_get_qos_constraints_in_t in; in.scope = argv[2]; try { in.element_id = std::stoi(argv[3]); ret = admire::get_qos_constraints(server, job, scope, entity, &limits); } catch(const std::exception& e) { fmt::print(stderr, "ERROR: Incorrect input type. Please try again.\n"); fmt::print(stderr, "FATAL: ADM_cancel_transfer() failed: {}\n", e.what()); exit(EXIT_FAILURE); } ADM_get_qos_constraints_out_t out; endp.call("ADM_get_qos_constraints", &in, &out); if(out.ret < 0) { fmt::print( stderr, "ADM_get_qos_constraints remote procedure not completed successfully\n"); if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_cancel_transfer() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } else { fmt::print( stdout, "ADM_get_qos_constraints remote procedure completed successfully\n"); } } src/api/admire.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -373,7 +373,27 @@ get_qos_constraints(const server& srv, ADM_job_handle_t job, (void) entity; (void) limits; 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_qos_constraints(...)"); // FIXME: change RPC fields to ADM_transfer_handle_t ADM_get_qos_constraints_in_t in{}; ADM_get_qos_constraints_out_t out; endp.call("ADM_get_qos_constraints", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_get_qos_constraints() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_get_qos_constraints() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t Loading src/network/rpcs.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -1034,8 +1034,6 @@ ADM_get_qos_constraints(hg_handle_t h) { ret = margo_get_input(h, &in); assert(ret == HG_SUCCESS); const std::string scp(in.scope); out.ret = -1; out.list = nullptr; Loading @@ -1045,6 +1043,9 @@ ADM_get_qos_constraints(hg_handle_t h) { LOGGER_ERROR("ADM_get_qos_constraints(): invalid element_id (< 0)"); } else { LOGGER_INFO("ADM_get_qos_constraints({}, {})", in.scope, in.element_id); const std::string scp(in.scope); if((scp == "dataset") || (scp == "node") || (scp == "job")) { LOGGER_INFO( "ADM_get_qos_constraints scope value is acceptable ({})", Loading Loading
examples/ADM_get_qos_constraints.cpp +14 −24 Original line number Diff line number Diff line #include <fmt/format.h> #include <engine.hpp> #include <admire.hpp> int Loading @@ -13,36 +13,26 @@ 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]); ADM_job_handle_t job{}; ADM_qos_scope_t scope{}; ADM_qos_entity_t entity{}; ADM_limit_t* limits; ADM_return_t ret = ADM_SUCCESS; fmt::print( stdout, "Calling ADM_get_qos_constraints remote procedure on {} with scope {} and element id {} ...\n", argv[1], argv[2], argv[3]); ADM_get_qos_constraints_in_t in; in.scope = argv[2]; try { in.element_id = std::stoi(argv[3]); ret = admire::get_qos_constraints(server, job, scope, entity, &limits); } catch(const std::exception& e) { fmt::print(stderr, "ERROR: Incorrect input type. Please try again.\n"); fmt::print(stderr, "FATAL: ADM_cancel_transfer() failed: {}\n", e.what()); exit(EXIT_FAILURE); } ADM_get_qos_constraints_out_t out; endp.call("ADM_get_qos_constraints", &in, &out); if(out.ret < 0) { fmt::print( stderr, "ADM_get_qos_constraints remote procedure not completed successfully\n"); if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_cancel_transfer() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } else { fmt::print( stdout, "ADM_get_qos_constraints remote procedure completed successfully\n"); } }
src/api/admire.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -373,7 +373,27 @@ get_qos_constraints(const server& srv, ADM_job_handle_t job, (void) entity; (void) limits; 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_qos_constraints(...)"); // FIXME: change RPC fields to ADM_transfer_handle_t ADM_get_qos_constraints_in_t in{}; ADM_get_qos_constraints_out_t out; endp.call("ADM_get_qos_constraints", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_get_qos_constraints() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_get_qos_constraints() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t Loading
src/network/rpcs.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -1034,8 +1034,6 @@ ADM_get_qos_constraints(hg_handle_t h) { ret = margo_get_input(h, &in); assert(ret == HG_SUCCESS); const std::string scp(in.scope); out.ret = -1; out.list = nullptr; Loading @@ -1045,6 +1043,9 @@ ADM_get_qos_constraints(hg_handle_t h) { LOGGER_ERROR("ADM_get_qos_constraints(): invalid element_id (< 0)"); } else { LOGGER_INFO("ADM_get_qos_constraints({}, {})", in.scope, in.element_id); const std::string scp(in.scope); if((scp == "dataset") || (scp == "node") || (scp == "job")) { LOGGER_INFO( "ADM_get_qos_constraints scope value is acceptable ({})", Loading