* @author Christian Grothoff
* @author Nathan Evans
*/
+
#include "platform.h"
#include "gnunet_block_lib.h"
#include "gnunet_util_lib.h"
*/
struct GNUNET_TIME_Relative hello_expiration;
+/**
+ * Should we store our topology predecessor and successor IDs into statistics?
+ */
+extern unsigned int track_topology;
+
+#if ENABLE_MALICIOUS
+/**
+ * Should this peer act malicious?
+ */
+unsigned int malicious;
+#endif
+
/**
* Receive the HELLO from transport service, free current and replace
GNUNET_TRANSPORT_disconnect (GDS_transport_handle);
GDS_transport_handle = NULL;
}
+
GDS_NEIGHBOURS_done ();
GDS_DATACACHE_done ();
GDS_ROUTING_done ();
run (void *cls, struct GNUNET_SERVER_Handle *server,
const struct GNUNET_CONFIGURATION_Handle *c)
{
+ unsigned long long _track_topology;
GDS_cfg = c;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_time (c, "transport", "HELLO_EXPIRATION", &hello_expiration))
GDS_block_context = GNUNET_BLOCK_context_create (GDS_cfg);
GDS_stats = GNUNET_STATISTICS_create ("dht", GDS_cfg);
GDS_ROUTING_init ();
- GDS_NSE_init ();
+ GDS_NSE_init ();
GDS_DATACACHE_init ();
GDS_HELLO_init ();
GDS_CLIENTS_init (server);
+ if (GNUNET_OK ==
+ GNUNET_CONFIGURATION_get_value_number (c, "xdht", "track_toplogy",
+ &_track_topology))
+ {
+ track_topology = (unsigned int) _track_topology;
+ }
if (GNUNET_OK != GDS_NEIGHBOURS_init ())
{
shutdown_task (NULL, NULL);