#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()
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, ¶ms,
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;
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");
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");
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");
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",
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;