/*
This file is part of GNUnet
- (C) 2008--2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2008--2014 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
/**
* @file testbed/gnunet-daemon-latency-logger.c
* @brief log latency values from neighbour connections into an SQLite database
- * @author Sree Harsha Totakura <sreeharsha@totakura.in>
+ * @author Sree Harsha Totakura <sreeharsha@totakura.in>
*/
#include "platform.h"
* The last known value for latency
*/
unsigned int latency;
-
+
};
/**
* Shutdown task identifier
*/
-GNUNET_SCHEDULER_TaskIdentifier shutdown_task;
+struct GNUNET_SCHEDULER_Task * shutdown_task;
/**
{
struct Entry *e = cls;
- GNUNET_assert (GNUNET_YES ==
+ GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multipeermap_remove (map, key, e));
GNUNET_free (e);
return GNUNET_YES;
*
* @param cls NULL
* @param tc task context from scheduler
- * @return
+ * @return
*/
static void
do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- shutdown_task = GNUNET_SCHEDULER_NO_TASK;
+ shutdown_task = NULL;
GNUNET_ATS_performance_done (ats);
ats = NULL;
if (NULL != stmt_insert)
db = NULL;
if (NULL != map)
{
- GNUNET_assert (GNUNET_SYSERR !=
+ GNUNET_assert (GNUNET_SYSERR !=
GNUNET_CONTAINER_multipeermap_iterate (map, free_iterator, NULL));
GNUNET_CONTAINER_multipeermap_destroy (map);
map = NULL;
*
* @param cls closure
* @param address the address
- * @param address_active is this address actively used to maintain a connection
- * to a peer
+ * @param address_active #GNUNET_YES if this address is actively used
+ * to maintain a connection to a peer;
+ * #GNUNET_NO if the address is not actively used;
+ * #GNUNET_SYSERR if this address is no longer available for ATS
* @param bandwidth_out assigned outbound bandwidth for the connection
* @param bandwidth_in assigned inbound bandwidth for the connection
* @param ats performance data for the address (as far as known)
}
GNUNET_assert (NULL != db);
- if (GNUNET_NO == address_active)
+ if (GNUNET_YES != address_active)
return;
for (cnt = 0; cnt < ats_count; cnt++)
{
{
entry = GNUNET_new (struct Entry);
entry->id = address->peer;
- GNUNET_CONTAINER_multipeermap_put (map,
+ GNUNET_CONTAINER_multipeermap_put (map,
&entry->id, entry,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
}
entry->latency = latency;
return;
-
+
err_shutdown:
GNUNET_SCHEDULER_shutdown ();
}
run (void *cls, char *const *args, const char *cfgfile,
const struct GNUNET_CONFIGURATION_Handle *c)
{
- const char *query_create =
+ const char *query_create =
"CREATE TABLE ats_info ("
"id TEXT,"
"val INTEGER,"
if (NULL != db)
{
LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite_open_v2");
- sqlite3_close (db);
+ GNUNET_break (SQLITE_OK == sqlite3_close (db));
}
else
LOG (GNUNET_ERROR_TYPE_ERROR, "Cannot open sqlite file %s\n", dbfile);
DEBUG ("SQLite Error: %d. Perhaps the database `%s' already exits.\n",
sqlite3_errcode (db), dbfile);
DEBUG ("Opened database %s\n", dbfile);
- GNUNET_free (dbfile);
+ GNUNET_free (dbfile);
dbfile = NULL;
- ats = GNUNET_ATS_performance_init (c, addr_info_cb, NULL);
+ ats = GNUNET_ATS_performance_init (c, &addr_info_cb, NULL);
map = GNUNET_CONTAINER_multipeermap_create (30, GNUNET_YES);
shutdown_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
&do_shutdown, NULL);