Loading examples/cxx/ADM_register_pfs_storage.cpp 0 → 100644 +39 −0 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_register_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_pfs_context_t ctx{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::register_pfs_storage(server, job, ctx, &pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_register_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_register_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_register_pfs_storage() remote procedure completed " "successfully\n"); } examples/cxx/ADM_remove_pfs_storage.cpp 0 → 100644 +38 −0 Original line number Diff line number Diff line #include "fmt/format.h" #include "admire.hpp" int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_remove_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::remove_pfs_storage(server, job, pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_remove_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_remove_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_remove_pfs_storage() remote procedure completed " "successfully\n"); } examples/cxx/ADM_update_pfs_storage.cpp 0 → 100644 +39 −0 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_update_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_pfs_context_t ctx{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::update_pfs_storage(server, job, ctx, pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_update_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_update_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_update_pfs_storage() remote procedure completed " "successfully\n"); } examples/cxx/CMakeLists.txt +3 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ list(APPEND examples_cxx ADM_register_job ADM_update_job ADM_remove_job ADM_register_adhoc_storage ADM_update_adhoc_storage ADM_remove_adhoc_storage ADM_deploy_adhoc_storage ADM_register_pfs_storage ADM_update_pfs_storage ADM_remove_pfs_storage # ADM_in_situ_ops ADM_in_transit_ops ADM_transfer_dataset ADM_set_dataset_information ADM_set_io_resources ADM_get_transfer_priority Loading src/lib/admire.cpp +83 −0 Original line number Diff line number Diff line Loading @@ -361,6 +361,89 @@ deploy_adhoc_storage(const server& srv, ADM_job_t job, return ADM_SUCCESS; } ADM_return_t register_pfs_storage(const server& srv, ADM_job_t job, ADM_pfs_context_t ctx, ADM_storage_t* pfs_storage) { (void) srv; (void) job; (void) ctx; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_register_pfs_storage(...)"); ADM_register_pfs_storage_in_t in{}; ADM_register_pfs_storage_out_t out; endp.call("ADM_register_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_register_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_register_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t update_pfs_storage(const server& srv, ADM_job_t job, ADM_pfs_context_t ctx, ADM_storage_t pfs_storage) { (void) srv; (void) job; (void) ctx; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_update_pfs_storage(...)"); ADM_update_pfs_storage_in_t in{}; ADM_update_pfs_storage_out_t out; endp.call("ADM_update_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_update_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_update_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t remove_pfs_storage(const server& srv, ADM_job_t job, ADM_storage_t pfs_storage) { (void) srv; (void) job; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_remove_pfs_storage(...)"); ADM_remove_pfs_storage_in_t in{}; ADM_remove_pfs_storage_out_t out; endp.call("ADM_remove_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_remove_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_remove_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t transfer_dataset(const server& srv, ADM_job_t job, ADM_dataset_t** sources, ADM_dataset_t** targets, ADM_qos_limit_t** limits, Loading Loading
examples/cxx/ADM_register_pfs_storage.cpp 0 → 100644 +39 −0 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_register_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_pfs_context_t ctx{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::register_pfs_storage(server, job, ctx, &pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_register_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_register_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_register_pfs_storage() remote procedure completed " "successfully\n"); }
examples/cxx/ADM_remove_pfs_storage.cpp 0 → 100644 +38 −0 Original line number Diff line number Diff line #include "fmt/format.h" #include "admire.hpp" int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_remove_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::remove_pfs_storage(server, job, pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_remove_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_remove_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_remove_pfs_storage() remote procedure completed " "successfully\n"); }
examples/cxx/ADM_update_pfs_storage.cpp 0 → 100644 +39 −0 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_update_pfs_storage <REMOTE_IP> " "<JOB_REQS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_pfs_context_t ctx{}; ADM_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::update_pfs_storage(server, job, ctx, pfs_storage); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_update_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_update_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_update_pfs_storage() remote procedure completed " "successfully\n"); }
examples/cxx/CMakeLists.txt +3 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ list(APPEND examples_cxx ADM_register_job ADM_update_job ADM_remove_job ADM_register_adhoc_storage ADM_update_adhoc_storage ADM_remove_adhoc_storage ADM_deploy_adhoc_storage ADM_register_pfs_storage ADM_update_pfs_storage ADM_remove_pfs_storage # ADM_in_situ_ops ADM_in_transit_ops ADM_transfer_dataset ADM_set_dataset_information ADM_set_io_resources ADM_get_transfer_priority Loading
src/lib/admire.cpp +83 −0 Original line number Diff line number Diff line Loading @@ -361,6 +361,89 @@ deploy_adhoc_storage(const server& srv, ADM_job_t job, return ADM_SUCCESS; } ADM_return_t register_pfs_storage(const server& srv, ADM_job_t job, ADM_pfs_context_t ctx, ADM_storage_t* pfs_storage) { (void) srv; (void) job; (void) ctx; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_register_pfs_storage(...)"); ADM_register_pfs_storage_in_t in{}; ADM_register_pfs_storage_out_t out; endp.call("ADM_register_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_register_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_register_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t update_pfs_storage(const server& srv, ADM_job_t job, ADM_pfs_context_t ctx, ADM_storage_t pfs_storage) { (void) srv; (void) job; (void) ctx; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_update_pfs_storage(...)"); ADM_update_pfs_storage_in_t in{}; ADM_update_pfs_storage_out_t out; endp.call("ADM_update_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_update_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_update_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t remove_pfs_storage(const server& srv, ADM_job_t job, ADM_storage_t pfs_storage) { (void) srv; (void) job; (void) pfs_storage; scord::network::rpc_client rpc_client{srv.m_protocol, rpc_registration_cb}; auto endp = rpc_client.lookup(srv.m_address); LOGGER_INFO("ADM_remove_pfs_storage(...)"); ADM_remove_pfs_storage_in_t in{}; ADM_remove_pfs_storage_out_t out; endp.call("ADM_remove_pfs_storage", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_remove_pfs_storage() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_remove_pfs_storage() = {}", ADM_SUCCESS); return ADM_SUCCESS; } ADM_return_t transfer_dataset(const server& srv, ADM_job_t job, ADM_dataset_t** sources, ADM_dataset_t** targets, ADM_qos_limit_t** limits, Loading