]> rtime.felk.cvut.cz Git - frescor/fna.git/blobdiff - tests/tests_frescan/test_frescan_bwres_renegotiate_in_master.c
use frsh_contract_t structure instead of the old frescan_contract_t structure.. we...
[frescor/fna.git] / tests / tests_frescan / test_frescan_bwres_renegotiate_in_master.c
index 98db77cdfd618e312b67dc72837e14b30ee27980..64ec5833a614af76bd1510edd8a54e94e1e0f1bd 100644 (file)
@@ -2,11 +2,13 @@
 #include <stdlib.h> // exit
 #include <unistd.h>   // 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");