1 /* Copyright (c) 2012, 2014, 2016. The SimGrid Team.
2 * All rights reserved. */
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. */
7 #ifndef _KADEMLIA_EXAMPLES_ANSWER_H_
8 #define _KADEMLIA_EXAMPLES_ANSWER_H_
10 #include "routing_table.h"
12 /* Node query anwser. contains the elements closest to the id given. */
13 typedef struct s_node_answer {
14 unsigned int destination_id;
15 xbt_dynar_t nodes; //Dynar of node_contact_t
17 } s_answer_t, *answer_t;
21 answer_t answer_init(unsigned int destination_id);
22 void answer_free(answer_t answer);
23 void answer_print(answer_t answer);
24 unsigned int answer_merge(answer_t destination, answer_t source);
25 void answer_sort(answer_t answer);
26 void answer_trim(answer_t answer);
27 void answer_add_bucket(bucket_t bucket, answer_t answer);
28 unsigned int answer_contains(answer_t answer, unsigned int id);
29 unsigned int answer_destination_found(answer_t answer);
31 #endif /* _KADEMLIA_EXAMPLES_ANSWER_H_ */