Loading examples/ADM_transfer_dataset.cpp +19 −28 Original line number Diff line number Diff line #include <fmt/format.h> #include <engine.hpp> #include <admire.hpp> int Loading @@ -14,41 +14,32 @@ 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]}; ADM_job_handle_t job{}; ADM_dataset_handle_t** sources = nullptr; ADM_dataset_handle_t** targets = nullptr; ADM_limit_t** limits = nullptr; ADM_tx_mapping_t mapping = ADM_MAPPING_ONE_TO_ONE; ADM_transfer_handle_t tx_handle{}; ADM_return_t ret = ADM_SUCCESS; auto endp = rpc_client.lookup(argv[1]); fmt::print( stdout, "Calling ADM_transfer_dataset remote procedure on {} : {} -> {} using " " qos constraints {}, distribution {} and job id {} ...\n", argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); ADM_transfer_dataset_in_t in; in.source = argv[2]; in.destination = argv[3]; in.qos_constraints = argv[4]; in.distribution = argv[5]; try { in.job_id = std::stoi(argv[6]); ret = admire::transfer_dataset(server, job, sources, targets, limits, mapping, &tx_handle); } catch(const std::exception& e) { fmt::print(stdout, "ERROR: Incorrect input type. Please try again.\n"); fmt::print(stderr, "FATAL: ADM_cancel_transfer() failed: {}\n", e.what()); exit(EXIT_FAILURE); } ADM_transfer_dataset_out_t out; endp.call("ADM_transfer_dataset", &in, &out); if(out.ret < 0) { fmt::print( stdout, "ADM_transfer_dataset remote procedure not completed successfully\n"); if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_transfer_dataset() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } else { fmt::print( stdout, "ADM_transfer_dataset remote procedure completed successfully\n"); fmt::print(stdout, "ADM_transfer_dataset() remote procedure completed " "successfully\n"); } } src/api/admire.cpp +21 −3 Original line number Diff line number Diff line Loading @@ -128,16 +128,34 @@ ADM_return_t transfer_dataset(const server& srv, ADM_job_handle_t job, ADM_dataset_handle_t** sources, ADM_dataset_handle_t** targets, ADM_limit_t** limits, ADM_tx_mapping_t mapping, ADM_transfer_handle_t* tx) { ADM_transfer_handle_t* tx_handle) { (void) srv; (void) job; (void) sources; (void) targets; (void) limits; (void) mapping; (void) tx; (void) tx_handle; 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_transfer_dataset(...)"); ADM_transfer_dataset_in_t in{}; ADM_transfer_dataset_out_t out; endp.call("ADM_transfer_dataset", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_transfer_dataset() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_transfer_dataset() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t Loading Loading
examples/ADM_transfer_dataset.cpp +19 −28 Original line number Diff line number Diff line #include <fmt/format.h> #include <engine.hpp> #include <admire.hpp> int Loading @@ -14,41 +14,32 @@ 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]}; ADM_job_handle_t job{}; ADM_dataset_handle_t** sources = nullptr; ADM_dataset_handle_t** targets = nullptr; ADM_limit_t** limits = nullptr; ADM_tx_mapping_t mapping = ADM_MAPPING_ONE_TO_ONE; ADM_transfer_handle_t tx_handle{}; ADM_return_t ret = ADM_SUCCESS; auto endp = rpc_client.lookup(argv[1]); fmt::print( stdout, "Calling ADM_transfer_dataset remote procedure on {} : {} -> {} using " " qos constraints {}, distribution {} and job id {} ...\n", argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); ADM_transfer_dataset_in_t in; in.source = argv[2]; in.destination = argv[3]; in.qos_constraints = argv[4]; in.distribution = argv[5]; try { in.job_id = std::stoi(argv[6]); ret = admire::transfer_dataset(server, job, sources, targets, limits, mapping, &tx_handle); } catch(const std::exception& e) { fmt::print(stdout, "ERROR: Incorrect input type. Please try again.\n"); fmt::print(stderr, "FATAL: ADM_cancel_transfer() failed: {}\n", e.what()); exit(EXIT_FAILURE); } ADM_transfer_dataset_out_t out; endp.call("ADM_transfer_dataset", &in, &out); if(out.ret < 0) { fmt::print( stdout, "ADM_transfer_dataset remote procedure not completed successfully\n"); if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_transfer_dataset() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } else { fmt::print( stdout, "ADM_transfer_dataset remote procedure completed successfully\n"); fmt::print(stdout, "ADM_transfer_dataset() remote procedure completed " "successfully\n"); } }
src/api/admire.cpp +21 −3 Original line number Diff line number Diff line Loading @@ -128,16 +128,34 @@ ADM_return_t transfer_dataset(const server& srv, ADM_job_handle_t job, ADM_dataset_handle_t** sources, ADM_dataset_handle_t** targets, ADM_limit_t** limits, ADM_tx_mapping_t mapping, ADM_transfer_handle_t* tx) { ADM_transfer_handle_t* tx_handle) { (void) srv; (void) job; (void) sources; (void) targets; (void) limits; (void) mapping; (void) tx; (void) tx_handle; 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_transfer_dataset(...)"); ADM_transfer_dataset_in_t in{}; ADM_transfer_dataset_out_t out; endp.call("ADM_transfer_dataset", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_transfer_dataset() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_transfer_dataset() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t Loading