From 15fdbd05d7021ea54ff1519a8086bc335cd4415e Mon Sep 17 00:00:00 2001 From: sangorrin Date: Sun, 20 Jul 2008 12:07:31 +0000 Subject: [PATCH] use frsh_contract_t structure instead of the old frescan_contract_t structure.. we have changed this because now we are going to use the FRSH FSA module to do the analysis and spare capacity git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1305 35b4ef3e-fd22-0410-ab77-dab3279adceb --- .../test_frescan_bwres_cancel_in_master.c | 103 ++++++++++++------ .../test_frescan_bwres_cancel_in_slave.c | 103 ++++++++++++------ tests/tests_frescan/test_frescan_bwres_init.c | 6 +- .../test_frescan_bwres_negotiate_in_master.c | 44 +++++--- .../test_frescan_bwres_negotiate_in_slave.c | 46 +++++--- ...test_frescan_bwres_renegotiate_in_master.c | 72 ++++++++---- .../test_frescan_bwres_renegotiate_in_slave.c | 74 +++++++++---- .../test_frescan_fp_send_basic.c | 10 +- .../test_frescan_fp_send_receive_measures.c | 10 +- tests/tests_frescan/test_frescan_queues.c | 30 +++-- .../test_frescan_servers_send_basic.c | 18 +-- ...st_frescan_servers_send_receive_measures.c | 18 +-- 12 files changed, 348 insertions(+), 186 deletions(-) diff --git a/tests/tests_frescan/test_frescan_bwres_cancel_in_master.c b/tests/tests_frescan/test_frescan_bwres_cancel_in_master.c index 5c6e803..49548a0 100644 --- a/tests/tests_frescan/test_frescan_bwres_cancel_in_master.c +++ b/tests/tests_frescan/test_frescan_bwres_cancel_in_master.c @@ -2,11 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 0 @@ -16,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss1, ss2, ss3; - frescan_contract_t contract; + frsh_contract_t contract; bool accepted; frescan_server_params_t server_params; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -28,76 +31,112 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3333); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 69; - contract.prio = 7; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 7); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_negotiate(NETWORK, &contract, &ss1, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss1); ret = frescan_servers_get_data(NETWORK, &server_params, ss1); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); } - contract.min_values.budget = 6; - contract.min_values.period.tv_sec = 2; - contract.min_values.period.tv_nsec = 6; - contract.prio = 4; + budget_min.tv_sec = 6; + period_max = frsh_msec_to_rel_time(2600); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); + +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 4); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_negotiate(NETWORK, &contract, &ss2, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss2); ret = frescan_servers_get_data(NETWORK, &server_params, ss2); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); } ret = frescan_bwres_cancel(NETWORK, ss1); - if (ret != 0) ERROR ("could not cancel server"); + if (ret != 0) PUT_ERROR ("could not cancel server"); + + budget_min.tv_sec = 1; + period_max = frsh_msec_to_rel_time(6666); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 1; - contract.min_values.period.tv_sec = 6; - contract.min_values.period.tv_nsec = 666; - contract.prio = 3; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 3); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_negotiate(NETWORK, &contract, &ss3, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss3); ret = frescan_servers_get_data(NETWORK, &server_params, ss3); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); diff --git a/tests/tests_frescan/test_frescan_bwres_cancel_in_slave.c b/tests/tests_frescan/test_frescan_bwres_cancel_in_slave.c index 4b4c5e2..b5ca357 100644 --- a/tests/tests_frescan/test_frescan_bwres_cancel_in_slave.c +++ b/tests/tests_frescan/test_frescan_bwres_cancel_in_slave.c @@ -2,11 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 1 @@ -16,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss1, ss2, ss3; - frescan_contract_t contract; + frsh_contract_t contract; frescan_server_params_t server_params; bool accepted; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -28,53 +31,78 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3000); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 0; - contract.prio = 5; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 5); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif printf("Negotiating a contract 1\n"); ret = frescan_bwres_negotiate(NETWORK, &contract, &ss1, &accepted); - if (ret != 0) ERROR ("could not negotiate succesfully"); + if (ret != 0) PUT_ERROR ("could not negotiate succesfully"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss1); ret = frescan_servers_get_data(NETWORK, &server_params, ss1); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); } - contract.min_values.budget = 6; - contract.min_values.period.tv_sec = 2; - contract.min_values.period.tv_nsec = 6; - contract.prio = 4; + budget_min.tv_sec = 6; + period_max = frsh_msec_to_rel_time(2600); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); + +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 4); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif printf("Negotiating a contract 2\n"); ret = frescan_bwres_negotiate(NETWORK, &contract, &ss2, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss2); ret = frescan_servers_get_data(NETWORK, &server_params, ss2); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); @@ -82,26 +110,37 @@ int main () printf("cancelling contract for ss:%u\n", ss1); ret = frescan_bwres_cancel(NETWORK, ss1); - if (ret != 0) ERROR ("could not cancel server"); + if (ret != 0) PUT_ERROR ("could not cancel server"); + + budget_min.tv_sec = 1; + period_max = frsh_msec_to_rel_time(6666); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 1; - contract.min_values.period.tv_sec = 6; - contract.min_values.period.tv_nsec = 666; - contract.prio = 3; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 3); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif printf("Negotiating a contract 3\n"); ret = frescan_bwres_negotiate(NETWORK, &contract, &ss3, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss3); ret = frescan_servers_get_data(NETWORK, &server_params, ss3); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); diff --git a/tests/tests_frescan/test_frescan_bwres_init.c b/tests/tests_frescan/test_frescan_bwres_init.c index 19b1127..8f60f1b 100644 --- a/tests/tests_frescan/test_frescan_bwres_init.c +++ b/tests/tests_frescan/test_frescan_bwres_init.c @@ -5,7 +5,7 @@ #include "frescan.h" #include "frescan_bwres.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 1 @@ -23,11 +23,11 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); while (1) { sleep(1); diff --git a/tests/tests_frescan/test_frescan_bwres_negotiate_in_master.c b/tests/tests_frescan/test_frescan_bwres_negotiate_in_master.c index 9bea770..6eb5445 100644 --- a/tests/tests_frescan/test_frescan_bwres_negotiate_in_master.c +++ b/tests/tests_frescan/test_frescan_bwres_negotiate_in_master.c @@ -2,10 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" +#include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 0 @@ -15,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss; - frescan_contract_t contract; + frsh_contract_t contract; bool accepted; frescan_server_params_t server_params; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -27,29 +31,43 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3369); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 69; - contract.prio = 7; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 7); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_negotiate(NETWORK, &contract, &ss, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); diff --git a/tests/tests_frescan/test_frescan_bwres_negotiate_in_slave.c b/tests/tests_frescan/test_frescan_bwres_negotiate_in_slave.c index 3a01915..f950f5c 100644 --- a/tests/tests_frescan/test_frescan_bwres_negotiate_in_slave.c +++ b/tests/tests_frescan/test_frescan_bwres_negotiate_in_slave.c @@ -2,11 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 1 @@ -16,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss; - frescan_contract_t contract; + frsh_contract_t contract; frescan_server_params_t server_params; bool accepted; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -28,33 +31,44 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3369); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 0; - contract.max_values.budget = 7; - contract.max_values.period.tv_sec = 2; - contract.max_values.period.tv_nsec = 0; - contract.prio = 5; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 5); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif printf("Negotiating a contract\n"); ret = frescan_bwres_negotiate(NETWORK, &contract, &ss, &accepted); - if (ret != 0) ERROR ("could not negotiate succesfully"); + if (ret != 0) PUT_ERROR ("could not negotiate succesfully"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); diff --git a/tests/tests_frescan/test_frescan_bwres_renegotiate_in_master.c b/tests/tests_frescan/test_frescan_bwres_renegotiate_in_master.c index 98db77c..64ec583 100644 --- a/tests/tests_frescan/test_frescan_bwres_renegotiate_in_master.c +++ b/tests/tests_frescan/test_frescan_bwres_renegotiate_in_master.c @@ -2,11 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 0 @@ -16,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss; - frescan_contract_t contract; + frsh_contract_t contract; bool accepted; frescan_server_params_t server_params; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -28,29 +31,43 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3369); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 69; - contract.prio = 7; + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); + +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 7); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_negotiate(NETWORK, &contract, &ss, &accepted); - if (ret != 0) ERROR ("could not negotiate"); + if (ret != 0) PUT_ERROR ("could not negotiate"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); @@ -59,23 +76,34 @@ int main () printf("Renegotiate the contract in 2 seconds\n"); sleep(2); - contract.min_values.budget = 7; - contract.min_values.period.tv_sec = 2; - contract.min_values.period.tv_nsec = 45; - contract.prio = 8; + budget_min.tv_sec = 7; + period_max = frsh_msec_to_rel_time(2450); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); + +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 8); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_renegotiate(NETWORK, &contract, ss, &accepted); - if (ret != 0) ERROR ("could not renegotiate"); + if (ret != 0) PUT_ERROR ("could not renegotiate"); if (accepted) { printf("The contract renegotiation was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); diff --git a/tests/tests_frescan/test_frescan_bwres_renegotiate_in_slave.c b/tests/tests_frescan/test_frescan_bwres_renegotiate_in_slave.c index 0996408..3e5fc92 100644 --- a/tests/tests_frescan/test_frescan_bwres_renegotiate_in_slave.c +++ b/tests/tests_frescan/test_frescan_bwres_renegotiate_in_slave.c @@ -2,11 +2,13 @@ #include // exit #include // sleep +#include "frsh.h" + #include "frescan.h" #include "frescan_bwres.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOCAL_NODE 1 @@ -16,9 +18,10 @@ int main () int ret; frescan_init_params_t init_params; frescan_ss_t ss; - frescan_contract_t contract; + frsh_contract_t contract; frescan_server_params_t server_params; bool accepted; + frsh_rel_time_t budget_min, period_max; init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -28,30 +31,44 @@ int main () printf("Initializing FRESCAN\n"); ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("Initializing BWRES\n"); ret = frescan_bwres_init(NETWORK); - if (ret != 0) ERROR ("could not init BWRES"); + if (ret != 0) PUT_ERROR ("could not init BWRES"); + + ret = frsh_contract_init(&contract); + if (ret != 0) PUT_ERROR ("could not init contract"); + + budget_min.tv_sec = 5; + period_max = frsh_msec_to_rel_time(3369); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); - contract.min_values.budget = 5; - contract.min_values.period.tv_sec = 3; - contract.min_values.period.tv_nsec = 0; - contract.prio = 5; +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 5); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif printf("Negotiating a contract\n"); ret = frescan_bwres_negotiate(NETWORK, &contract, &ss, &accepted); - if (ret != 0) ERROR ("could not negotiate succesfully"); + if (ret != 0) PUT_ERROR ("could not negotiate succesfully"); if (accepted) { printf("The contract was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); @@ -60,23 +77,34 @@ int main () printf("Renegotiate the contract in 2 seconds\n"); sleep(2); - contract.min_values.budget = 2; - contract.min_values.period.tv_sec = 6; - contract.min_values.period.tv_nsec = 43; - contract.prio = 2; + budget_min.tv_sec = 2; + period_max = frsh_msec_to_rel_time(6430); + + ret = frsh_contract_set_basic_params + (&contract, + &budget_min, + &period_max, + FRSH_WT_INDETERMINATE, + FRSH_CT_REGULAR); + if (ret != 0) PUT_ERROR ("could not set basic params"); + +#if !FRSH_AUTOMATIC_PRIO_ASSIGN_ENABLE + ret = frsh_contract_set_preemption_level(&contract, 2); + if (ret != 0) PUT_ERROR ("could not set preemption level"); +#endif ret = frescan_bwres_renegotiate(NETWORK, &contract, ss, &accepted); - if (ret != 0) ERROR ("could not renegotiate"); + if (ret != 0) PUT_ERROR ("could not renegotiate"); if (accepted) { printf("The contract renegotiation was accepted, ss:%u\n", ss); ret = frescan_servers_get_data(NETWORK, &server_params, ss); - if (ret != 0) ERROR ("could not get servers data"); + if (ret != 0) PUT_ERROR ("could not get servers data"); printf("B:%u, T=(%u,%u), P:%u\n", - server_params.values.budget, - server_params.values.period.tv_sec, - server_params.values.period.tv_nsec, + server_params.budget, + server_params.period.tv_sec, + server_params.period.tv_nsec, server_params.prio); } else { printf("The contract was not accepted\n"); @@ -88,5 +116,3 @@ int main () return 0; } - - diff --git a/tests/tests_frescan/test_frescan_fp_send_basic.c b/tests/tests_frescan/test_frescan_fp_send_basic.c index 9ea285e..b950efa 100644 --- a/tests/tests_frescan/test_frescan_fp_send_basic.c +++ b/tests/tests_frescan/test_frescan_fp_send_basic.c @@ -7,7 +7,7 @@ #include "frescan.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 @@ -58,7 +58,7 @@ int main () #endif ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("FRESCAN initialized (local node: %u)\n", LOCAL_NODE); @@ -73,7 +73,7 @@ int main () for (i=0; i<=2; i++) { written = snprintf(msg, sizeof(msg), "his number is... %d", i); ret = frescan_send(¶ms, (uint8_t *)msg, written); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) PUT_ERROR ("could not send message\n"); printf("SENT: %d\n", i); } #ifdef ENABLE_LOGGING @@ -105,7 +105,7 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("FRESCAN initialized (local node: %u)\n", LOCAL_NODE); @@ -117,7 +117,7 @@ int main () printf("RECEIVING...\n"); ret = frescan_recv(¶ms, (uint8_t *)msg, sizeof(msg), &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not send message"); + if (ret != 0) PUT_ERROR ("could not send message"); msg[recv_bytes] = '\0'; printf("RECEIVED: %s with prio:%u from:%u\n", msg, prio, from); diff --git a/tests/tests_frescan/test_frescan_fp_send_receive_measures.c b/tests/tests_frescan/test_frescan_fp_send_receive_measures.c index 2d4e41e..c9679be 100644 --- a/tests/tests_frescan/test_frescan_fp_send_receive_measures.c +++ b/tests/tests_frescan/test_frescan_fp_send_receive_measures.c @@ -45,7 +45,7 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) FRESCAN_ERROR ("could not init FRESCAN"); DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n"); @@ -79,7 +79,7 @@ int main () ret = frescan_send(&send_params, (uint8_t *)msg, NUM_MSG_BYTES); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) FRESCAN_ERROR ("could not send message\n"); ret = frescan_recv(&recv_params, (uint8_t *)msg, @@ -87,7 +87,7 @@ int main () &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not receive message"); + if (ret != 0) FRESCAN_ERROR ("could not receive message"); time_measure_hwtime_set_timestamp(END); @@ -112,12 +112,12 @@ int main () &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not receive message"); + if (ret != 0) FRESCAN_ERROR ("could not receive message"); ret = frescan_send(&send_params, (uint8_t *)msg, recv_bytes); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) FRESCAN_ERROR ("could not send message\n"); } } diff --git a/tests/tests_frescan/test_frescan_queues.c b/tests/tests_frescan/test_frescan_queues.c index a556601..a809f3e 100644 --- a/tests/tests_frescan/test_frescan_queues.c +++ b/tests/tests_frescan/test_frescan_queues.c @@ -4,12 +4,10 @@ #include // uint32_t #include "frescan_queues.h" +#include "frescan_debug.h" #include #include -#define ERROR(s) {perror (s); exit (-1);} -#define DEBUG(enable,x,args...) if(enable) {printf("\t>> %s: " x, __func__ , ##args);} // pause();} - #define DEBUG_ENABLE 1 // static void pause(){ @@ -32,10 +30,10 @@ int main () DEBUG(DEBUG_ENABLE, "init frames and packets pool\n"); // ret = can_framespool_init(); - // if (ret != 0) ERROR ("could not init frames pool\n"); + // if (ret != 0) FRESCAN_ERROR ("could not init frames pool\n"); ret = frescan_packets_init(); - if (ret != 0) ERROR ("could not init packet pool\n"); + if (ret != 0) FRESCAN_ERROR ("could not init packet pool\n"); DEBUG(DEBUG_ENABLE, "init queues\n"); @@ -44,7 +42,7 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_queues_init(&queues, &init_params); - if (ret != 0) ERROR("could not initialize the queues\n"); + if (ret != 0) FRESCAN_ERROR("could not initialize the queues\n"); head = NULL; @@ -52,7 +50,7 @@ int main () for (i=0; i<5; i++) { frame = can_framespool_alloc(); - if (frame == NULL) ERROR ("frames pool is exhausted\n"); + if (frame == NULL) FRESCAN_ERROR ("frames pool is exhausted\n"); frame->is_extended_format = 1; frame->is_rtr = 0; @@ -62,14 +60,14 @@ int main () frame->data[7] = 69; packet = frescan_packets_alloc(); - if (packet == NULL) ERROR ("could not alloc packet\n"); + if (packet == NULL) FRESCAN_ERROR ("could not alloc packet\n"); packet->frame = frame; if (head == NULL) { DEBUG(DEBUG_ENABLE, "head was null\n"); head = frescan_packets_alloc(); - if (head == NULL) ERROR ("could not alloc packet\n"); + if (head == NULL) FRESCAN_ERROR ("could not alloc packet\n"); INIT_LIST_HEAD(&head->msg_list); } @@ -80,20 +78,20 @@ int main () pqueue = queues.rx_channel_queues[0]; ret = frescan_pqueue_enqueue(pqueue, head, 7); - if (ret != 0) ERROR ("could not enqueue packet\n"); + if (ret != 0) FRESCAN_ERROR ("could not enqueue packet\n"); blocking = true; DEBUG(DEBUG_ENABLE, "dequeue head from priority queue\n"); ret = frescan_pqueue_dequeue(pqueue, &head, &prio, blocking); - if (ret != 0) ERROR ("could not dequeue packet\n"); + if (ret != 0) FRESCAN_ERROR ("could not dequeue packet\n"); if (head == NULL) { if (blocking == false) { - ERROR ("blocking false packet null\n"); + FRESCAN_ERROR ("blocking false packet null\n"); } else { - ERROR ("blocking true, and packet = null\n"); + FRESCAN_ERROR ("blocking true, and packet = null\n"); } } @@ -105,17 +103,17 @@ int main () packet->frame->dlc, packet->frame->pool_pos); ret = can_framespool_free(packet->frame); - if (ret != 0) ERROR("could not free frame\n"); + if (ret != 0) FRESCAN_ERROR("could not free frame\n"); ret = frescan_packets_free(packet); - if (ret != 0) ERROR("could not free packet\n"); + if (ret != 0) FRESCAN_ERROR("could not free packet\n"); } DEBUG(DEBUG_ENABLE, "free head\n"); ret = frescan_packets_free(head); if (ret != 0) { - ERROR("could not free head packet\n"); + FRESCAN_ERROR("could not free head packet\n"); return -1; } diff --git a/tests/tests_frescan/test_frescan_servers_send_basic.c b/tests/tests_frescan/test_frescan_servers_send_basic.c index 900f799..89d01c7 100644 --- a/tests/tests_frescan/test_frescan_servers_send_basic.c +++ b/tests/tests_frescan/test_frescan_servers_send_basic.c @@ -8,7 +8,7 @@ #include "frescan.h" #include "frescan_servers.h" -#define ERROR(s) {perror (s); exit (-1);} +#define PUT_ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 @@ -59,19 +59,19 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf(">> Creating a Server\n"); - server_params.values.budget = 3; - server_params.values.period.tv_sec = 3; - server_params.values.period.tv_nsec = 0; + server_params.budget = 3; + server_params.period.tv_sec = 3; + server_params.period.tv_nsec = 0; server_params.prio = 4; ret = frescan_servers_create(NETWORK, &server_params, ¶ms.ss); - if (ret != 0) ERROR ("could not create server"); + if (ret != 0) PUT_ERROR ("could not create server"); printf(">> Enter in loop for sending packets\n"); @@ -85,7 +85,7 @@ int main () for (i=0; i<=2; i++) { written = snprintf(msg, sizeof(msg), "his number is: %d", i); ret = frescan_send(¶ms, (uint8_t *)msg, written); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) PUT_ERROR ("could not send message\n"); printf("SENT: %d\n", i); } #ifdef ENABLE_LOGGING @@ -117,7 +117,7 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) PUT_ERROR ("could not init FRESCAN"); printf("FRESCAN initialized\n"); @@ -129,7 +129,7 @@ int main () printf("RECEIVING...\n"); ret = frescan_recv(¶ms, (uint8_t *)msg, sizeof(msg), &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not send message"); + if (ret != 0) PUT_ERROR ("could not send message"); msg[recv_bytes] = '\0'; printf("RECEIVED: %s with prio:%u\n", msg, prio); diff --git a/tests/tests_frescan/test_frescan_servers_send_receive_measures.c b/tests/tests_frescan/test_frescan_servers_send_receive_measures.c index 0c6f55b..a581f89 100644 --- a/tests/tests_frescan/test_frescan_servers_send_receive_measures.c +++ b/tests/tests_frescan/test_frescan_servers_send_receive_measures.c @@ -48,19 +48,19 @@ int main () init_params.rx_channel_max_prio = NULL; ret = frescan_init(&init_params); - if (ret != 0) ERROR ("could not init FRESCAN"); + if (ret != 0) FRESCAN_ERROR ("could not init FRESCAN"); DEBUG(ENABLE_DEBUG, ">> Creating a Server\n"); - server_params.values.budget = NUM_MSG_BYTES / 8; - server_params.values.period.tv_sec = 0; - server_params.values.period.tv_nsec = 500000000; + server_params.budget = NUM_MSG_BYTES / 8; + server_params.period.tv_sec = 0; + server_params.period.tv_nsec = 500000000; server_params.prio = 4; ret = frescan_servers_create(NETWORK, &server_params, &send_params.ss); - if (ret != 0) ERROR ("could not create server"); + if (ret != 0) FRESCAN_ERROR ("could not create server"); DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n"); @@ -95,7 +95,7 @@ int main () ret = frescan_send(&send_params, (uint8_t *)msg, NUM_MSG_BYTES); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) FRESCAN_ERROR ("could not send message\n"); ret = frescan_recv(&recv_params, (uint8_t *)msg, @@ -103,7 +103,7 @@ int main () &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not receive message"); + if (ret != 0) FRESCAN_ERROR ("could not receive message"); #ifndef DISABLE_MEASURES time_measure_hwtime_set_timestamp(END); #endif @@ -129,12 +129,12 @@ int main () &recv_bytes, &from, &prio); - if (ret != 0) ERROR ("could not receive message"); + if (ret != 0) FRESCAN_ERROR ("could not receive message"); ret = frescan_send(&send_params, (uint8_t *)msg, recv_bytes); - if (ret != 0) ERROR ("could not send message\n"); + if (ret != 0) FRESCAN_ERROR ("could not send message\n"); } } -- 2.39.2