-/* Copyright (c) 2012, 2014-2016. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2012-2018. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "task.h"
#include "simgrid/msg.h"
+
+#include <stdio.h> /* snprintf */
+
/** @addtogroup MSG_examples
* <b>kademlia/kademlia.c: Kademlia protocol</b>
* Implements the Kademlia protocol, using 32 bits identifiers.
XBT_INFO("I couldn't join the network :(");
}
XBT_DEBUG("I'm leaving the network");
- XBT_INFO("%d/%d FIND_NODE have succeeded", node->find_node_success, node->find_node_success + node->find_node_failed);
+ XBT_INFO("%u/%u FIND_NODE have succeeded", node->find_node_success, node->find_node_success + node->find_node_failed);
node_free(node);
return 0;
unsigned int answers;
unsigned int destination_found = 0;
unsigned int nodes_added = 0;
- double time_beginreceive;
- double timeout;
double global_timeout = MSG_get_clock() + find_node_global_timeout;
unsigned int steps = 0;
- xbt_assert((id_to_find >= 0), "Id supplied incorrect");
-
/* First we build a list of who we already know */
answer_t node_list = node_find_closest(node, id_to_find);
xbt_assert((node_list != NULL), "node_list incorrect");
answers = 0;
queries = send_find_node_to_best(node, node_list);
nodes_added = 0;
- timeout = MSG_get_clock() + find_node_timeout;
+ double timeout = MSG_get_clock() + find_node_timeout;
steps++;
- time_beginreceive = MSG_get_clock();
+ double time_beginreceive = MSG_get_clock();
do {
if (node->receive_comm == NULL) {
node->task_received = NULL;
answers++;
nodes_added = answer_merge(node_list, data->answer);
- XBT_DEBUG("Received an answer from %s (%s) with %ld nodes on it",
- data->answer_to, data->issuer_host_name, xbt_dynar_length(data->answer->nodes));
+ XBT_DEBUG("Received an answer from %s (%s) with %lu nodes on it", data->answer_to, data->issuer_host_name,
+ xbt_dynar_length(data->answer->nodes));
task_free(node->task_received);
} else {
if (count_in_stats)
node->find_node_success++;
if (queries > 4)
- XBT_VERB("FIND_NODE on %08x success in %d steps", id_to_find, steps);
+ XBT_VERB("FIND_NODE on %08x success in %u steps", id_to_find, steps);
node_routing_table_update(node, id_to_find);
} else {
if (count_in_stats) {
node->find_node_failed++;
- XBT_VERB("%08x not found in %d steps", id_to_find, steps);
+ XBT_VERB("%08x not found in %u steps", id_to_find, steps);
}
}
answer_free(node_list);
unsigned int ping(node_t node, unsigned int id_to_ping)
{
char mailbox[MAILBOX_NAME_SIZE];
- snprintf(mailbox,MAILBOX_NAME_SIZE, "%d", id_to_ping);
+ snprintf(mailbox, MAILBOX_NAME_SIZE, "%u", id_to_ping);
double timeout = MSG_get_clock() + ping_timeout;