} else {
handle_find_node(node, msg);
}
- free(msg->answer);
+ answer_free(msg->answer);
free(msg);
node->receive_comm = NULL;
} else {
* @param id node we are querying
* @param destination node we are trying to find.
*/
-void send_find_node(node_t node, unsigned int id, unsigned int destination)
+void send_find_node(const_node_t node, unsigned int id, unsigned int destination)
{
/* Gets the mailbox to send to */
sg_mailbox_t mailbox = get_node_mailbox(id);
* Sends to the best "KADEMLIA_ALPHA" nodes in the "node_list" array a "FIND_NODE" request, to ask them for their best
* nodes
*/
-unsigned int send_find_node_to_best(node_t node, const_answer_t node_list)
+unsigned int send_find_node_to_best(const_node_t node, const_answer_t node_list)
{
unsigned int i = 0;
unsigned int j = 0;
*/
answer_t find_closest(const_node_t node, unsigned int destination_id)
{
- int i;
answer_t answer = answer_init(destination_id);
/* We find the corresponding bucket for the id */
const_bucket_t bucket = routing_table_find_bucket(node->table, destination_id);
/* However, if we don't have enough elements in our bucket, we NEED to include at least "BUCKET_SIZE" elements
* (if, of course, we know at least "BUCKET_SIZE" elements. So we're going to look unsigned into the other buckets.
*/
- for (i = 1; answer->size < BUCKET_SIZE && ((bucket_id - i > 0) || (bucket_id + i < IDENTIFIER_SIZE)); i++) {
+ for (int i = 1; answer->size < BUCKET_SIZE && ((bucket_id - i > 0) || (bucket_id + i < IDENTIFIER_SIZE)); i++) {
/* We check the previous buckets */
if (bucket_id - i >= 0) {
const_bucket_t bucket_p = &node->table->buckets[bucket_id - i];
timeout += simgrid_get_clock() - time_beginreceive;
time_beginreceive = simgrid_get_clock();
}
- free(msg->answer);
+ answer_free(msg->answer);
free(msg);
node->receive_comm = NULL;
} else {
}
/** @brief Handles the answer to an incoming "find_node" message */
-void handle_find_node(node_t node, kademlia_message_t msg)
+void handle_find_node(const_node_t node, const_kademlia_message_t msg)
{
routing_table_update(node, msg->sender_id);
XBT_VERB("Received a FIND_NODE from %s (%s), he's trying to find %08x", sg_mailbox_get_name(msg->answer_to),
if (prefix == 0) {
return 0;
} else {
- return (1U << ((unsigned int)(prefix - 1))) ^ id;
+ return (1U << (prefix - 1)) ^ id;
}
}