*/
#include "platform.h"
#include "gnunet_getopt_lib.h"
-#include "gnunet_program_lib.h"
+#include "gnunet_util_lib.h"
#include "gnunet_core_service.h"
+#include "gnunet_statistics_service.h"
+#include "gnunet-daemon-experimentation.h"
-static struct GNUNET_CORE_Handle *ch;
-
+static struct GNUNET_STATISTICS_Handle *GSE_stats;
/**
* Task run during shutdown.
* @param tc unused
*/
static void
-cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Experimentation daemon shutting down ...\n"));
- if (NULL != ch)
- {
- GNUNET_CORE_disconnect (ch);
- ch = NULL;
- }
-
+ GNUNET_EXPERIMENTATION_nodes_stop();
}
-/**
- * Method called whenever a given peer connects.
- *
- * @param cls closure
- * @param peer peer identity this notification is about
- */
-void core_connect_handler (void *cls,
- const struct GNUNET_PeerIdentity * peer)
-{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Connected to peer %s\n"),
- GNUNET_i2s (peer));
- /* Send request */
-
- /* TBD */
-}
/**
- * Method called whenever a given peer disconnects.
+ * Function starting all submodules of the experimentation daemon.
*
- * @param cls closure
- * @param peer peer identity this notification is about
- */
-void core_disconnect_handler (void *cls,
- const struct GNUNET_PeerIdentity * peer)
-{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Disconnected from peer %s\n"),
- GNUNET_i2s (peer));
-
-}
-
-/**
- * The main function for the experimentation daemon.
- *
- * @param argc number of arguments from the command line
- * @param argv command line arguments
+ * @param cls always NULL
+ * @param args temaining command line arguments
+ * @param cfgfile configuration file used
+ * @param cfg configuration handle
*/
static void
run (void *cls, char *const *args, const char *cfgfile,
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Experimentation daemon starting ...\n"));
- /* Connecting to core service to find partners */
- ch = GNUNET_CORE_connect (cfg, NULL, NULL,
- &core_connect_handler,
- &core_disconnect_handler,
- NULL, GNUNET_NO, NULL, GNUNET_NO, NULL);
- if (NULL == ch)
+ GSE_stats = GNUNET_STATISTICS_create ("experimentation", cfg);
+ if (NULL == GSE_stats)
{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Failed to connect to CORE service!\n"));
- return;
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Failed to create statistics!\n"));
+ return;
}
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &cleanup_task,
+ GNUNET_EXPERIMENTATION_nodes_start (cfg);
+
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task,
NULL);
}