Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
1fce788afb73157667524e967191ad9327ed72a7
[simgrid.git] / examples / msg / kademlia / kademlia.h
1 /* Copyright (c) 2012, 2014. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef _MSG_EXAMPLES_KADEMLIA_H
8 #define _MSG_EXAMPLES_KADEMLIA_H
9 #include "node.h"
10 #include "task.h"
11
12 //core kademlia functions
13 unsigned int join(node_t node, unsigned int id_known);
14 unsigned int find_node(node_t node, unsigned int id_to_find,
15                        unsigned int count_in_stats);
16 unsigned int ping(node_t node, unsigned int id_to_ping);
17 void random_lookup(node_t node);
18
19 void send_find_node(node_t node, unsigned int id, unsigned int destination);
20 unsigned int send_find_node_to_best(node_t node, answer_t node_list);
21
22 void handle_task(node_t node, msg_task_t task);
23 void handle_find_node(node_t node, task_data_t data);
24 void handle_ping(node_t node, task_data_t data);
25
26
27 #endif                          /* _MSG_EXAMPLES_KADEMLIA_H */