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

Refactor ADM_dataset_info_t

parent 9513d9c4
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -204,9 +204,28 @@ typedef enum {
typedef struct adm_transfer* ADM_transfer_t;

/** Information about a dataset */
typedef struct {
    // TODO: empty for now
} ADM_dataset_info_t;
typedef struct adm_dataset_info* ADM_dataset_info_t;

/**
 * Create a dataset from a user-provided id (e.g. a path for POSIX-like file
 * systems or key for key-value stores).
 *
 * @remark Datasets need to be freed by calling ADM_dataset_info_destroy().
 *
 * @return A valid ADM_DATASET_INFO if successful or NULL in case of
 * failure.
 */
ADM_dataset_info_t
ADM_dataset_info_create();

/**
 * Destroy a dataset created by ADM_dataset_info_create().
 *
 * @param[in] dataset A valid ADM_dataset_info_t
 * @return ADM_SUCCESS or corresponding ADM error code
 */
ADM_return_t
ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info);

/** A storage tier handle */
typedef struct {
+31 −0
Original line number Diff line number Diff line
@@ -69,6 +69,10 @@ struct adm_transfer {
    // TODO: empty for now
};

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

/** The I/O requirements for a job */
struct adm_job_requirements {
    /** An array of input datasets */
@@ -251,6 +255,33 @@ ADM_qos_limit_destroy(ADM_qos_limit_t limit) {
    return ret;
}

ADM_dataset_info_t
ADM_dataset_info_create() {

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

    if(!adm_dataset_info) {
        LOGGER_ERROR("Could not allocate ADM_dataset_info_t");
        return NULL;
    }

    return adm_dataset_info;
}

ADM_return_t
ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info) {
    ADM_return_t ret = ADM_SUCCESS;

    if(!dataset_info) {
        LOGGER_ERROR("Invalid ADM_dataset_info_t")
        return ADM_EBADARGS;
    }

    free(dataset_info);
    return ret;
}

ADM_job_requirements_t
ADM_job_requirements_create(ADM_dataset_t inputs[], size_t inputs_len,
                            ADM_dataset_t outputs[], size_t outputs_len,