Verified Commit 72acff03 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Update examples with API changes

parent 514da2b4
Loading
Loading
Loading
Loading
+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
@@ -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);
@@ -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);
    }
@@ -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) {
@@ -54,7 +63,6 @@ main(int argc, char* argv[]) {
                    "successfully\n");

cleanup:

    for(int i = 0; i < NINPUTS; ++i) {
        ADM_dataset_destroy(inputs[i]);
    }
@@ -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);
}
+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
+1 −1
Original line number Diff line number Diff line
@@ -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 {
+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 {