Loading examples/cxx/ADM_remove_job.cpp +7 −13 Original line number Diff line number Diff line Loading @@ -5,30 +5,24 @@ int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_remove_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_remove_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; admire::job job{42}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::remove_job(server, job); [[maybe_unused]] const auto ret = admire::remove_job(server, job); fmt::print(stdout, "ADM_remove_job() remote procedure completed " "successfully\n"); exit(EXIT_SUCCESS); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_remove_job() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_remove_job() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_remove_job() remote procedure completed " "successfully\n"); } src/common/net/proto/rpc_types.h +8 −2 Original line number Diff line number Diff line Loading @@ -256,9 +256,15 @@ MERCURY_GEN_PROC( ); /// ADM_remove_job MERCURY_GEN_PROC(ADM_remove_job_in_t, ((int32_t) (reqs))) MERCURY_GEN_PROC( ADM_remove_job_in_t, ((ADM_job_t) (job)) ); MERCURY_GEN_PROC(ADM_remove_job_out_t, ((int32_t) (ret))) MERCURY_GEN_PROC( ADM_remove_job_out_t, ((int32_t) (retval)) ); /// ADM_register_adhoc_storage MERCURY_GEN_PROC(ADM_register_adhoc_storage_in_t, ((int32_t) (reqs))) Loading src/lib/admire.cpp +1 −21 Original line number Diff line number Diff line Loading @@ -202,27 +202,7 @@ update_job(const server& srv, const job& job, const job_requirements& reqs) { ADM_return_t remove_job(const server& srv, const job& job) { (void) srv; (void) job; scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("ADM_remove_job(...)"); ADM_remove_job_in_t in{}; ADM_remove_job_out_t out; endp.call("ADM_remove_job", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_remove_job() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_remove_job() = {}", ADM_SUCCESS); return ADM_SUCCESS; return detail::remove_job(srv, job); } ADM_return_t Loading src/lib/detail/impl.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -222,4 +222,31 @@ update_job(const server& srv, const job& job, const job_requirements& reqs) { return ADM_SUCCESS; } admire::error_code remove_job(const server& srv, const job& job) { scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("RPC (ADM_{}) => {{job: {}}}", __FUNCTION__, job); const auto rpc_job = managed_rpc_type<admire::job>{job}; ADM_remove_job_in_t in{rpc_job.get()}; ADM_remove_job_out_t out; endp.call("ADM_remove_job", &in, &out); if(out.retval < 0) { const auto retval = static_cast<admire::error_code>(out.retval); LOGGER_ERROR("RPC (ADM_{}) <= {{retval: {}}}", __FUNCTION__, retval); return retval; } LOGGER_INFO("RPC (ADM_{}) <= {{retval: {}}}", __FUNCTION__, ADM_SUCCESS); return ADM_SUCCESS; } } // namespace admire::detail src/lib/detail/impl.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ register_job(const server& srv, const job_requirements& reqs); admire::error_code update_job(const server& srv, const job& job, const job_requirements& reqs); admire::error_code remove_job(const server& srv, const job& job); } // namespace admire::detail #endif // SCORD_ADMIRE_IMPL_HPP Loading
examples/cxx/ADM_remove_job.cpp +7 −13 Original line number Diff line number Diff line Loading @@ -5,30 +5,24 @@ int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_remove_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_remove_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; admire::job job{42}; ADM_return_t ret = ADM_SUCCESS; try { ret = admire::remove_job(server, job); [[maybe_unused]] const auto ret = admire::remove_job(server, job); fmt::print(stdout, "ADM_remove_job() remote procedure completed " "successfully\n"); exit(EXIT_SUCCESS); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_remove_job() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_remove_job() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_remove_job() remote procedure completed " "successfully\n"); }
src/common/net/proto/rpc_types.h +8 −2 Original line number Diff line number Diff line Loading @@ -256,9 +256,15 @@ MERCURY_GEN_PROC( ); /// ADM_remove_job MERCURY_GEN_PROC(ADM_remove_job_in_t, ((int32_t) (reqs))) MERCURY_GEN_PROC( ADM_remove_job_in_t, ((ADM_job_t) (job)) ); MERCURY_GEN_PROC(ADM_remove_job_out_t, ((int32_t) (ret))) MERCURY_GEN_PROC( ADM_remove_job_out_t, ((int32_t) (retval)) ); /// ADM_register_adhoc_storage MERCURY_GEN_PROC(ADM_register_adhoc_storage_in_t, ((int32_t) (reqs))) Loading
src/lib/admire.cpp +1 −21 Original line number Diff line number Diff line Loading @@ -202,27 +202,7 @@ update_job(const server& srv, const job& job, const job_requirements& reqs) { ADM_return_t remove_job(const server& srv, const job& job) { (void) srv; (void) job; scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("ADM_remove_job(...)"); ADM_remove_job_in_t in{}; ADM_remove_job_out_t out; endp.call("ADM_remove_job", &in, &out); if(out.ret < 0) { LOGGER_ERROR("ADM_remove_job() = {}", out.ret); return static_cast<ADM_return_t>(out.ret); } LOGGER_INFO("ADM_remove_job() = {}", ADM_SUCCESS); return ADM_SUCCESS; return detail::remove_job(srv, job); } ADM_return_t Loading
src/lib/detail/impl.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -222,4 +222,31 @@ update_job(const server& srv, const job& job, const job_requirements& reqs) { return ADM_SUCCESS; } admire::error_code remove_job(const server& srv, const job& job) { scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("RPC (ADM_{}) => {{job: {}}}", __FUNCTION__, job); const auto rpc_job = managed_rpc_type<admire::job>{job}; ADM_remove_job_in_t in{rpc_job.get()}; ADM_remove_job_out_t out; endp.call("ADM_remove_job", &in, &out); if(out.retval < 0) { const auto retval = static_cast<admire::error_code>(out.retval); LOGGER_ERROR("RPC (ADM_{}) <= {{retval: {}}}", __FUNCTION__, retval); return retval; } LOGGER_INFO("RPC (ADM_{}) <= {{retval: {}}}", __FUNCTION__, ADM_SUCCESS); return ADM_SUCCESS; } } // namespace admire::detail
src/lib/detail/impl.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ register_job(const server& srv, const job_requirements& reqs); admire::error_code update_job(const server& srv, const job& job, const job_requirements& reqs); admire::error_code remove_job(const server& srv, const job& job); } // namespace admire::detail #endif // SCORD_ADMIRE_IMPL_HPP