]> rtime.felk.cvut.cz Git - frescor/fna.git/blobdiff - src_frescan/frescan_bandwidth_reservation.c
update the names and add acceptor thread id to the general data
[frescor/fna.git] / src_frescan / frescan_bandwidth_reservation.c
index 6b773c8533ab7acc85c1aabf0b6926e0f73ef627..b77f8c535f2feea65dbdfb48c0bf03ff5be84f61 100644 (file)
 #include "frescan_bandwidth_reservation.h"
 #include "frescan_data.h"
 #include "frescan_requests_queue.h"    // frescan_requests_init
-#include "frescan_negotiator_thread.h" // frescan_negotiator_thread_create
 #include "frescan_debug.h"
 #include "frescan_config.h"
-#include "frescan_acceptor_threads.h"
 #include "frescan_servers.h"
 #include "frescan_negotiation_messages.h"
+#include "frescan_negotiation_threads.h"
 
 /**
  * frescan_bwres_init()
@@ -36,9 +35,9 @@ int frescan_bwres_init(frescan_network_t net)
         frescan_server_params_t params;
 
         // TODO: server params must be configurable
-        params.budget = 5;
-        params.period.tv_sec = 1;
-        params.period.tv_nsec = 0;
+        params.values.budget = 5;
+        params.values.period.tv_sec = 1;
+        params.values.period.tv_nsec = 0;
         params.prio = FRESCAN_BWRES_NEG_MESSAGES_PRIO;
 
         ret = frescan_servers_create(net, &params,
@@ -57,7 +56,7 @@ int frescan_bwres_init(frescan_network_t net)
         if (the_networks[net].local_node == FRESCAN_NEG_MASTER_NODE) {
                 DEBUG(FRESCAN_BWRES_ENABLE_DEBUG, "i am master node (%u)\n",
                       the_networks[net].local_node);
-                ret = frescan_negotiator_thread_create(net);
+                ret = frescan_master_neg_thread_create(net);
                 if (ret != 0) {
                         ERROR("could not initialize the negotiator thread\n");
                         return ret;
@@ -108,6 +107,19 @@ int frescan_bwres_negotiate(frescan_network_t net,
                 return ret;
         }
 
+        ret = frescan_request_set_return_info(request,
+                                              (void *) &return_info);
+        if (ret != 0) {
+                ERROR("could not set return_info pointer\n");
+                return ret;
+        }
+
+        ret = frescan_request_set_reply(request, reply);
+        if (ret != 0) {
+                ERROR("could not set reply\n");
+                return ret;
+        }
+
         if (the_networks[net].local_node == FRESCAN_NEG_MASTER_NODE) {
                 DEBUG(FRESCAN_BWRES_ENABLE_DEBUG,
                       "I am master, negotiation in local node\n");
@@ -121,12 +133,6 @@ int frescan_bwres_negotiate(frescan_network_t net,
                         return ret;
                 }
 
-                ret = frescan_request_set_reply(request, reply);
-                if (ret != 0) {
-                        ERROR("could not set reply\n");
-                        return ret;
-                }
-
                 ret = frescan_request_set_contract(request, contract);
                 if (ret != 0) {
                         ERROR("could not set contract\n");
@@ -139,13 +145,6 @@ int frescan_bwres_negotiate(frescan_network_t net,
                         return ret;
                 }
 
-                ret = frescan_request_set_return_info(request,
-                                                      (void *) &return_info);
-                if (ret != 0) {
-                        ERROR("could not set return_info pointer\n");
-                        return ret;
-                }
-
                 ret = frescan_requestqueue_enqueue(request);
                 if (ret != 0) {
                         ERROR("could not enqueue the request\n");
@@ -164,11 +163,10 @@ int frescan_bwres_negotiate(frescan_network_t net,
                 params.to  = FRESCAN_NEG_MASTER_NODE;
                 params.channel = FRESCAN_NEG_CHANNEL;
 
-                params.flags = FRESCAN_FP | FRESCAN_ASYNC;
-                params.prio = 8;
-
-//                 params.flags = FRESCAN_SS | FRESCAN_ASYNC;
-//                 params.ss = the_networks[net].neg_messages_ss_id;
+//                 params.flags = FRESCAN_FP | FRESCAN_ASYNC;
+//                 params.prio = 8;
+                params.flags = FRESCAN_SS | FRESCAN_ASYNC;
+                params.ss = the_networks[net].neg_messages_ss_id;
 
                 DEBUG(FRESCAN_BWRES_ENABLE_DEBUG,
                       "send msg to master, net:%u to:%u ss:%u\n",
@@ -195,12 +193,14 @@ int frescan_bwres_negotiate(frescan_network_t net,
                 return ret;
         }
 
-        DEBUG(FRESCAN_BWRES_ENABLE_DEBUG,
-              "neg finished, error:%d ss:%d\n",
-              return_info.error, return_info.id);
-
         if (return_info.error) {
-                ERROR("there was an error in the negotiation or it failed\n");
+                DEBUG(FRESCAN_BWRES_ENABLE_DEBUG,
+                      "negotiation was not accepted, error:%d\n",
+                      return_info.error);
+        } else {
+                DEBUG(FRESCAN_BWRES_ENABLE_DEBUG,
+                      "negotiation finished succesfully ss:%d\n",
+                      return_info.id);
         }
 
         *id = return_info.id;