check_PROGRAMS = \
test_statistics_api \
- test_statistics_api_loop
+ test_statistics_api_loop \
+ test_statistics_api_watch
if !DISABLE_TEST_RUN
TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
$(top_builddir)/src/statistics/libgnunetstatistics.la \
$(top_builddir)/src/util/libgnunetutil.la
+test_statistics_api_watch_SOURCES = \
+ test_statistics_api_watch.c
+test_statistics_api_watch_LDADD = \
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
check_SCRIPTS = \
test_gnunet_statistics.sh
finish (handle, GNUNET_SYSERR);
return 0;
}
+#if DEBUG_STATISTICS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Transmitting watch request for `%s'\n",
+ handle->current->name);
+#endif
slen1 = strlen (handle->current->subsystem) + 1;
slen2 = strlen (handle->current->name) + 1;
msize = slen1 + slen2 + sizeof (struct GNUNET_MessageHeader);
2,
handle->current->subsystem,
handle->current->name));
- if (! handle->receiving)
+ if (GNUNET_YES != handle->receiving)
{
handle->receiving = GNUNET_YES;
GNUNET_CLIENT_receive (handle->client,
handle,
GNUNET_TIME_UNIT_FOREVER_REL);
}
+ finish (handle, GNUNET_OK);
return msize;
}
[statistics]
PORT = 22353
UNIXPATH = /tmp/test-statistics-service-statistics.unix
-DEBUG = NO
+#DEBUG = YES
[arm]
PORT = 22354
#include "gnunet_scheduler_lib.h"
#include "gnunet_statistics_service.h"
-#define VERBOSE GNUNET_YES
+#define VERBOSE GNUNET_NO
#define START_SERVICE GNUNET_YES
ok = 7;
}
+static void
+normal_shutdown (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ GNUNET_STATISTICS_destroy (h, GNUNET_NO);
+ GNUNET_STATISTICS_destroy (h2, GNUNET_NO);
+}
+
static int
watch_1 (void *cls,
const char *subsystem,
ok &= ~1;
if (0 == ok)
{
- GNUNET_STATISTICS_destroy (h, GNUNET_NO);
- GNUNET_STATISTICS_destroy (h2, GNUNET_NO);
GNUNET_SCHEDULER_cancel (shutdown_task);
+ GNUNET_SCHEDULER_add_now (&normal_shutdown, NULL);
}
return GNUNET_OK;
}
ok &= ~2;
if (0 == ok)
{
- GNUNET_STATISTICS_destroy (h, GNUNET_NO);
- GNUNET_STATISTICS_destroy (h2, GNUNET_NO);
GNUNET_SCHEDULER_cancel (shutdown_task);
+ GNUNET_SCHEDULER_add_now (&normal_shutdown, NULL);
}
return GNUNET_OK;
}