-revert of address_bw addition
[oweals/gnunet.git] / src / ats / test_ats_api_scheduling_init.c
index 7fd954eb5a720668e892e90e4d91e124c4e2bd76..a7914d5c6759747fe2957b8287c581fa25445ad5 100644 (file)
  */
 static GNUNET_SCHEDULER_TaskIdentifier die_task;
 
+/**
+ * Initial statistics get request handle
+ */
+struct GNUNET_STATISTICS_GetHandle *initial_get;
+
 /**
  * Statistics handle
  */
@@ -67,6 +72,14 @@ stat_cb(void *cls, const char *subsystem,
   return GNUNET_OK;
 }
 
+static int
+dummy_stat (void *cls, const char *subsystem, const char *name, uint64_t value,
+            int is_persistent)
+{
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Got dummy stat %s%s:%s = %llu\n",
+              is_persistent ? "!" : " ", subsystem, name, value);
+  return GNUNET_OK;
+}
 
 static void
 end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
@@ -103,7 +116,9 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 }
 
 static void
-address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
+address_suggest_cb (void *cls,
+                    const struct GNUNET_PeerIdentity *peer,
+                    const struct GNUNET_HELLO_Address *address,
                     struct Session *session,
                     struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out,
                     struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in,
@@ -115,18 +130,16 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
   return;
 }
 
-
 static void
-run (void *cls, 
-     const struct GNUNET_CONFIGURATION_Handle *cfg,
-     struct GNUNET_TESTING_Peer *peer)
+got_initial_value (void *cls, int success)
 {
-  die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL);
-  stats = GNUNET_STATISTICS_create ("ats", cfg);
-  GNUNET_STATISTICS_watch (stats, "ats", "# addresses", &stat_cb, NULL);
+  struct GNUNET_CONFIGURATION_Handle *cfg = cls;
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Got initial value\n");
 
   /* Connect to ATS scheduling */
   sched_ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL);
+  GNUNET_CONFIGURATION_destroy (cfg);
   if (sched_ats == NULL)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not connect to ATS scheduling!\n");
@@ -135,6 +148,20 @@ run (void *cls,
   }
 }
 
+static void
+run (void *cls,
+     const struct GNUNET_CONFIGURATION_Handle *cfg,
+     struct GNUNET_TESTING_Peer *peer)
+{
+  die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL);
+  stats = GNUNET_STATISTICS_create ("ats", cfg);
+  GNUNET_STATISTICS_watch (stats, "ats", "# addresses", &stat_cb, NULL);
+
+  initial_get = GNUNET_STATISTICS_get (stats, "ats", "# addresses", TIMEOUT,
+                                       &got_initial_value, &dummy_stat,
+                                       GNUNET_CONFIGURATION_dup (cfg));
+}
+
 
 int
 main (int argc, char *argv[])