Loading examples/c/ADM_transfer_datasets.c +11 −8 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ #define NINPUTS 10 #define NOUTPUTS 5 #define NSOURCES 5 #define NTARGETS 5 #define NLIMITS 3 int main(int argc, char* argv[]) { Loading Loading @@ -68,17 +71,17 @@ main(int argc, char* argv[]) { exit_status = EXIT_FAILURE; } ADM_dataset_t* sources = NULL; size_t sources_len = 0; ADM_dataset_t* targets = NULL; size_t targets_len = 0; ADM_qos_limit_t* limits = NULL; size_t limits_len = 0; ADM_dataset_t* sources = prepare_datasets("source-dataset-%d", NSOURCES); assert(sources); ADM_dataset_t* targets = prepare_datasets("target-dataset-%d", NTARGETS); assert(targets); ADM_qos_limit_t* limits = prepare_qos_limits(NLIMITS); assert(limits); ADM_transfer_mapping_t mapping = ADM_MAPPING_ONE_TO_ONE; ADM_transfer_t tx; ret = ADM_transfer_datasets(server, job, sources, sources_len, targets, targets_len, limits, limits_len, mapping, &tx); ret = ADM_transfer_datasets(server, job, sources, NSOURCES, targets, NTARGETS, limits, NLIMITS, mapping, &tx); if(ret != ADM_SUCCESS) { fprintf(stdout, "ADM_transfer_datasets() remote procedure not " Loading examples/c/common.c +35 −1 Original line number Diff line number Diff line Loading @@ -15,11 +15,13 @@ prepare_datasets(const char* pattern, size_t n) { } for(size_t i = 0; i < n; ++i) { // const char* pattern = "input-dataset-%d"; size_t len = snprintf(NULL, 0, pattern, i); char* id = (char*) alloca(len + 1); snprintf(id, len + 1, pattern, i); datasets[i] = ADM_dataset_create(id); if(!datasets[i]) { return NULL; } } return datasets; Loading @@ -37,4 +39,36 @@ destroy_datasets(ADM_dataset_t datasets[], size_t n) { free(datasets); } ADM_qos_limit_t* prepare_qos_limits(size_t n) { ADM_qos_limit_t* limits = calloc(n, sizeof(ADM_qos_limit_t)); if(!limits) { return NULL; } for(size_t i = 0; i < n; ++i) { limits[i] = ADM_qos_limit_create(NULL, ADM_QOS_CLASS_BANDWIDTH, 50); if(!limits[i]) { return NULL; } } return limits; } void destroy_qos_limits(ADM_qos_limit_t* limits, size_t n) { for(size_t i = 0; i < n; ++i) { if(limits[i]) { ADM_qos_limit_destroy(limits[i]); } } free(limits); } #endif // SCORD_COMMON_H examples/c/common.h +6 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,10 @@ prepare_datasets(const char* pattern, size_t n); void destroy_datasets(ADM_dataset_t datasets[], size_t n); ADM_qos_limit_t* prepare_qos_limits(size_t n); void destroy_qos_limits(ADM_qos_limit_t limits[], size_t n); #endif // SCORD_C_EXAMPLES_COMMON_H Loading
examples/c/ADM_transfer_datasets.c +11 −8 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ #define NINPUTS 10 #define NOUTPUTS 5 #define NSOURCES 5 #define NTARGETS 5 #define NLIMITS 3 int main(int argc, char* argv[]) { Loading Loading @@ -68,17 +71,17 @@ main(int argc, char* argv[]) { exit_status = EXIT_FAILURE; } ADM_dataset_t* sources = NULL; size_t sources_len = 0; ADM_dataset_t* targets = NULL; size_t targets_len = 0; ADM_qos_limit_t* limits = NULL; size_t limits_len = 0; ADM_dataset_t* sources = prepare_datasets("source-dataset-%d", NSOURCES); assert(sources); ADM_dataset_t* targets = prepare_datasets("target-dataset-%d", NTARGETS); assert(targets); ADM_qos_limit_t* limits = prepare_qos_limits(NLIMITS); assert(limits); ADM_transfer_mapping_t mapping = ADM_MAPPING_ONE_TO_ONE; ADM_transfer_t tx; ret = ADM_transfer_datasets(server, job, sources, sources_len, targets, targets_len, limits, limits_len, mapping, &tx); ret = ADM_transfer_datasets(server, job, sources, NSOURCES, targets, NTARGETS, limits, NLIMITS, mapping, &tx); if(ret != ADM_SUCCESS) { fprintf(stdout, "ADM_transfer_datasets() remote procedure not " Loading
examples/c/common.c +35 −1 Original line number Diff line number Diff line Loading @@ -15,11 +15,13 @@ prepare_datasets(const char* pattern, size_t n) { } for(size_t i = 0; i < n; ++i) { // const char* pattern = "input-dataset-%d"; size_t len = snprintf(NULL, 0, pattern, i); char* id = (char*) alloca(len + 1); snprintf(id, len + 1, pattern, i); datasets[i] = ADM_dataset_create(id); if(!datasets[i]) { return NULL; } } return datasets; Loading @@ -37,4 +39,36 @@ destroy_datasets(ADM_dataset_t datasets[], size_t n) { free(datasets); } ADM_qos_limit_t* prepare_qos_limits(size_t n) { ADM_qos_limit_t* limits = calloc(n, sizeof(ADM_qos_limit_t)); if(!limits) { return NULL; } for(size_t i = 0; i < n; ++i) { limits[i] = ADM_qos_limit_create(NULL, ADM_QOS_CLASS_BANDWIDTH, 50); if(!limits[i]) { return NULL; } } return limits; } void destroy_qos_limits(ADM_qos_limit_t* limits, size_t n) { for(size_t i = 0; i < n; ++i) { if(limits[i]) { ADM_qos_limit_destroy(limits[i]); } } free(limits); } #endif // SCORD_COMMON_H
examples/c/common.h +6 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,10 @@ prepare_datasets(const char* pattern, size_t n); void destroy_datasets(ADM_dataset_t datasets[], size_t n); ADM_qos_limit_t* prepare_qos_limits(size_t n); void destroy_qos_limits(ADM_qos_limit_t limits[], size_t n); #endif // SCORD_C_EXAMPLES_COMMON_H