Loading examples/c/ADM_register_job.c +21 −7 Original line number Diff line number Diff line #include <stdlib.h> #include <stdio.h> #include <assert.h> #include <admire.h> #define NINPUTS 10 Loading @@ -8,7 +9,7 @@ int main(int argc, char* argv[]) { if(argc != 3) { if(argc != 2) { fprintf(stderr, "ERROR: no location provided\n"); fprintf(stderr, "Usage: ADM_register_job <REMOTE_IP> <JOB_REQS>\n"); exit(EXIT_FAILURE); Loading @@ -17,14 +18,13 @@ main(int argc, char* argv[]) { int exit_status = EXIT_SUCCESS; ADM_server_t server = ADM_server_create("tcp", argv[1]); ADM_job_t job; ADM_dataset_t inputs[NINPUTS]; for(int i = 0; i < NINPUTS; ++i) { const char* pattern = "input-dataset-%d"; size_t n = snprintf(NULL, 0, pattern, i); char* id = (char*) malloc(n + 1); char* id = (char*) alloca(n + 1); snprintf(id, n + 1, pattern, i); inputs[i] = ADM_dataset_create(id); } Loading @@ -34,13 +34,22 @@ main(int argc, char* argv[]) { for(int i = 0; i < NOUTPUTS; ++i) { const char* pattern = "output-dataset-%d"; size_t n = snprintf(NULL, 0, pattern, i); char* id = (char*) malloc(n + 1); char* id = (char*) alloca(n + 1); snprintf(id, n + 1, pattern, i); outputs[i] = ADM_dataset_create(id); } ADM_job_requirements_t reqs = ADM_job_requirements_create( inputs, NINPUTS, outputs, NOUTPUTS, NULL); ADM_adhoc_context_t ctx = ADM_adhoc_context_create( ADM_ADHOC_MODE_SEPARATE_NEW, ADM_ADHOC_ACCESS_RDWR, 42, 100, false); assert(ctx); ADM_storage_t st = ADM_storage_create("foobar", ADM_STORAGE_GEKKOFS, ctx); assert(st); ADM_job_requirements_t reqs = ADM_job_requirements_create(inputs, NINPUTS, outputs, NOUTPUTS, st); assert(reqs); ADM_return_t ret = ADM_register_job(server, reqs, &job); if(ret != ADM_SUCCESS) { Loading @@ -54,7 +63,6 @@ main(int argc, char* argv[]) { "successfully\n"); cleanup: for(int i = 0; i < NINPUTS; ++i) { ADM_dataset_destroy(inputs[i]); } Loading @@ -63,6 +71,12 @@ cleanup: ADM_dataset_destroy(outputs[i]); } ADM_storage_destroy(st); ADM_adhoc_context_destroy(ctx); ADM_job_requirements_destroy(reqs); ADM_server_destroy(server); exit(exit_status); } examples/cxx/ADM_register_job.cpp +23 −5 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> #define NINPUTS 10 #define NOUTPUTS 5 int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_register_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_register_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_requirements_t reqs{}; std::vector<admire::dataset> inputs; inputs.reserve(NINPUTS); for(int i = 0; i < NINPUTS; ++i) { inputs.emplace_back(fmt::format("input-dataset-{}", i)); } try { std::vector<admire::dataset> outputs; outputs.reserve(NOUTPUTS); for(int i = 0; i < NOUTPUTS; ++i) { outputs.emplace_back(fmt::format("output-dataset-{}", i)); } auto p = std::make_unique<admire::adhoc_storage>( admire::storage::type::gekkofs, "foobar", admire::adhoc_storage::execution_mode::separate_new, admire::adhoc_storage::access_type::read_write, 42, 100, false); admire::job_requirements reqs(inputs, outputs, std::move(p)); try { [[maybe_unused]] const auto job = admire::register_job(server, reqs); // do something with job Loading examples/cxx/ADM_remove_job.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ main(int argc, char* argv[]) { admire::server server{"tcp", argv[1]}; ADM_job_t job{}; admire::job job{42}; ADM_return_t ret = ADM_SUCCESS; try { Loading examples/cxx/ADM_update_job.cpp +19 −5 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> #define NINPUTS 10 #define NOUTPUTS 5 int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_update_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_update_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_job_requirements_t reqs{}; std::vector<admire::dataset> inputs; inputs.reserve(NINPUTS); for(int i = 0; i < NINPUTS; ++i) { inputs.emplace_back(fmt::format("input-dataset-{}", i)); } std::vector<admire::dataset> outputs; outputs.reserve(NOUTPUTS); for(int i = 0; i < NOUTPUTS; ++i) { outputs.emplace_back(fmt::format("output-dataset-{}", i)); } admire::job job{42}; admire::job_requirements reqs{inputs, outputs}; ADM_return_t ret = ADM_SUCCESS; try { Loading Loading
examples/c/ADM_register_job.c +21 −7 Original line number Diff line number Diff line #include <stdlib.h> #include <stdio.h> #include <assert.h> #include <admire.h> #define NINPUTS 10 Loading @@ -8,7 +9,7 @@ int main(int argc, char* argv[]) { if(argc != 3) { if(argc != 2) { fprintf(stderr, "ERROR: no location provided\n"); fprintf(stderr, "Usage: ADM_register_job <REMOTE_IP> <JOB_REQS>\n"); exit(EXIT_FAILURE); Loading @@ -17,14 +18,13 @@ main(int argc, char* argv[]) { int exit_status = EXIT_SUCCESS; ADM_server_t server = ADM_server_create("tcp", argv[1]); ADM_job_t job; ADM_dataset_t inputs[NINPUTS]; for(int i = 0; i < NINPUTS; ++i) { const char* pattern = "input-dataset-%d"; size_t n = snprintf(NULL, 0, pattern, i); char* id = (char*) malloc(n + 1); char* id = (char*) alloca(n + 1); snprintf(id, n + 1, pattern, i); inputs[i] = ADM_dataset_create(id); } Loading @@ -34,13 +34,22 @@ main(int argc, char* argv[]) { for(int i = 0; i < NOUTPUTS; ++i) { const char* pattern = "output-dataset-%d"; size_t n = snprintf(NULL, 0, pattern, i); char* id = (char*) malloc(n + 1); char* id = (char*) alloca(n + 1); snprintf(id, n + 1, pattern, i); outputs[i] = ADM_dataset_create(id); } ADM_job_requirements_t reqs = ADM_job_requirements_create( inputs, NINPUTS, outputs, NOUTPUTS, NULL); ADM_adhoc_context_t ctx = ADM_adhoc_context_create( ADM_ADHOC_MODE_SEPARATE_NEW, ADM_ADHOC_ACCESS_RDWR, 42, 100, false); assert(ctx); ADM_storage_t st = ADM_storage_create("foobar", ADM_STORAGE_GEKKOFS, ctx); assert(st); ADM_job_requirements_t reqs = ADM_job_requirements_create(inputs, NINPUTS, outputs, NOUTPUTS, st); assert(reqs); ADM_return_t ret = ADM_register_job(server, reqs, &job); if(ret != ADM_SUCCESS) { Loading @@ -54,7 +63,6 @@ main(int argc, char* argv[]) { "successfully\n"); cleanup: for(int i = 0; i < NINPUTS; ++i) { ADM_dataset_destroy(inputs[i]); } Loading @@ -63,6 +71,12 @@ cleanup: ADM_dataset_destroy(outputs[i]); } ADM_storage_destroy(st); ADM_adhoc_context_destroy(ctx); ADM_job_requirements_destroy(reqs); ADM_server_destroy(server); exit(exit_status); }
examples/cxx/ADM_register_job.cpp +23 −5 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> #define NINPUTS 10 #define NOUTPUTS 5 int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_register_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_register_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_requirements_t reqs{}; std::vector<admire::dataset> inputs; inputs.reserve(NINPUTS); for(int i = 0; i < NINPUTS; ++i) { inputs.emplace_back(fmt::format("input-dataset-{}", i)); } try { std::vector<admire::dataset> outputs; outputs.reserve(NOUTPUTS); for(int i = 0; i < NOUTPUTS; ++i) { outputs.emplace_back(fmt::format("output-dataset-{}", i)); } auto p = std::make_unique<admire::adhoc_storage>( admire::storage::type::gekkofs, "foobar", admire::adhoc_storage::execution_mode::separate_new, admire::adhoc_storage::access_type::read_write, 42, 100, false); admire::job_requirements reqs(inputs, outputs, std::move(p)); try { [[maybe_unused]] const auto job = admire::register_job(server, reqs); // do something with job Loading
examples/cxx/ADM_remove_job.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ main(int argc, char* argv[]) { admire::server server{"tcp", argv[1]}; ADM_job_t job{}; admire::job job{42}; ADM_return_t ret = ADM_SUCCESS; try { Loading
examples/cxx/ADM_update_job.cpp +19 −5 Original line number Diff line number Diff line #include <fmt/format.h> #include <admire.hpp> #define NINPUTS 10 #define NOUTPUTS 5 int main(int argc, char* argv[]) { if(argc != 3) { fmt::print(stderr, "ERROR: no location provided\n"); fmt::print(stderr, "Usage: ADM_update_job <REMOTE_IP> <JOB_REQS>\n"); if(argc != 2) { fmt::print(stderr, "ERROR: no server address provided\n"); fmt::print(stderr, "Usage: ADM_update_job <SERVER_ADDRESS>\n"); exit(EXIT_FAILURE); } admire::server server{"tcp", argv[1]}; ADM_job_t job{}; ADM_job_requirements_t reqs{}; std::vector<admire::dataset> inputs; inputs.reserve(NINPUTS); for(int i = 0; i < NINPUTS; ++i) { inputs.emplace_back(fmt::format("input-dataset-{}", i)); } std::vector<admire::dataset> outputs; outputs.reserve(NOUTPUTS); for(int i = 0; i < NOUTPUTS; ++i) { outputs.emplace_back(fmt::format("output-dataset-{}", i)); } admire::job job{42}; admire::job_requirements reqs{inputs, outputs}; ADM_return_t ret = ADM_SUCCESS; try { Loading