Verified Commit 5a384253 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Refactor ADM_data_operation_t

parent b8a9aac4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ main(int argc, char* argv[]) {
    admire::server server{"tcp", argv[1]};

    ADM_job_t job{};
    ADM_data_operation_t op_handle;
    ADM_data_operation_t op_handle{};
    bool should_stream = false;
    va_list args;
    ADM_return_t ret = ADM_SUCCESS;
+21 −3
Original line number Diff line number Diff line
@@ -289,9 +289,27 @@ ADM_storage_resources_destroy(ADM_storage_resources_t res);

typedef int ADM_transfer_priority_t;

typedef struct {
    // TODO: empty for now
} ADM_data_operation_t;
typedef struct adm_data_operation* ADM_data_operation_t;

/**
 * Create an ADM_DATA_OPERATION from information about storage resources.
 *
 * @remark ADM_DATA_OPERATION need to be freed by calling
 * ADM_storage_resources_destroy().
 *
 * @return A valid ADM_DATA_OPERATION, or NULL in case of failure
 */
ADM_data_operation_t
ADM_data_operation_create();

/**
 * Destroy a ADM_DATA_OPERATION created by ADM_storage_resources_create().
 *
 * @param[in] op A valid ADM_DATA_OPERATION
 * @return ADM_SUCCESS or corresponding ADM error code
 */
ADM_return_t
ADM_data_operation_destroy(ADM_data_operation_t op);

typedef struct {
    // TODO: empty for now
+33 −0
Original line number Diff line number Diff line
@@ -86,6 +86,10 @@ struct adm_storage_resources {
    // TODO: empty for now
};

struct adm_data_operation {
    // TODO: empty for now
};


struct adm_adhoc_context {
    /** The adhoc storage system execution mode */
@@ -398,6 +402,35 @@ ADM_storage_resources_destroy(ADM_storage_resources_t res) {
    return ret;
}

ADM_data_operation_t
ADM_data_operation_create() {

    struct adm_data_operation* adm_data_operation =
            (struct adm_data_operation*) malloc(sizeof(*adm_data_operation));

    if(!adm_data_operation) {
        LOGGER_ERROR("Could not allocate ADM_data_operation_t");
        return NULL;
    }

    return adm_data_operation;
}

ADM_return_t
ADM_data_operation_destroy(ADM_data_operation_t op) {

    ADM_return_t ret = ADM_SUCCESS;

    if(!op) {
        LOGGER_ERROR("Invalid ADM_data_operation_t")
        return ADM_EBADARGS;
    }

    free(op);
    return ret;
}


ADM_adhoc_context_t
ADM_adhoc_context_create(ADM_adhoc_mode_t exec_mode,
                         ADM_adhoc_access_t access_type, uint32_t nodes,