*/
struct GNUNET_STATISTICS_Handle
{
- /**
- * Our scheduler.
- */
- struct GNUNET_SCHEDULER_Handle *sched;
-
/**
* Name of our subsystem.
*/
unsigned int i;
if (ret->client != NULL)
return GNUNET_YES;
- ret->client = GNUNET_CLIENT_connect (ret->sched, "statistics", ret->cfg);
+ ret->client = GNUNET_CLIENT_connect ("statistics", ret->cfg);
if (ret->client != NULL)
{
for (i=0;i<ret->watches_size;i++)
/**
* Get handle for the statistics service.
*
- * @param sched scheduler to use
* @param subsystem name of subsystem using the service
* @param cfg services configuration in use
* @return handle to use
*/
struct GNUNET_STATISTICS_Handle *
-GNUNET_STATISTICS_create (struct GNUNET_SCHEDULER_Handle *sched,
- const char *subsystem,
+GNUNET_STATISTICS_create (const char *subsystem,
const struct GNUNET_CONFIGURATION_Handle *cfg)
{
struct GNUNET_STATISTICS_Handle *ret;
GNUNET_assert (subsystem != NULL);
- GNUNET_assert (sched != NULL);
GNUNET_assert (cfg != NULL);
ret = GNUNET_malloc (sizeof (struct GNUNET_STATISTICS_Handle));
- ret->sched = sched;
ret->cfg = cfg;
ret->subsystem = GNUNET_strdup (subsystem);
ret->backoff = GNUNET_TIME_UNIT_MILLISECONDS;
- try_connect (ret);
+ if (GNUNET_YES != try_connect (ret))
+ {
+ GNUNET_free (ret->subsystem);
+ GNUNET_free (ret);
+ return NULL;
+ }
return ret;
}
struct GNUNET_TIME_Relative timeout;
int i;
+ if (h == NULL) return;
if (GNUNET_SCHEDULER_NO_TASK != h->backoff_task)
- GNUNET_SCHEDULER_cancel (h->sched,
- h->backoff_task);
+ GNUNET_SCHEDULER_cancel (h->backoff_task);
if (sync_first)
{
if (h->current != NULL)
return; /* action already pending */
if (GNUNET_YES != try_connect (h))
{
- h->backoff_task = GNUNET_SCHEDULER_add_delayed (h->sched,
- h->backoff,
+ h->backoff_task = GNUNET_SCHEDULER_add_delayed (h->backoff,
&finish_task,
h);
h->backoff = GNUNET_TIME_relative_multiply (h->backoff, 2);
}
}
+
/**
* Get statistic from the peer.
*
{
struct GNUNET_STATISTICS_WatchEntry *w;
+ if (handle == NULL)
+ return GNUNET_SYSERR;
w = GNUNET_malloc (sizeof (struct GNUNET_STATISTICS_WatchEntry));
w->subsystem = GNUNET_strdup (subsystem);
w->name = GNUNET_strdup (name);