- update
authorMatthias Wachs <wachs@net.in.tum.de>
Tue, 17 Apr 2012 07:57:10 +0000 (07:57 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Tue, 17 Apr 2012 07:57:10 +0000 (07:57 +0000)
src/ats/Makefile.am
src/ats/gnunet-service-ats_addresses.c
src/ats/gnunet-service-ats_addresses_mlp.c
src/ats/perf_ats_mlp.c

index f4056fa66a4bda86d881c6e387bc67683f0b149b..d8c7e86884d35c943c89ee1000e250cc05dfa028 100644 (file)
@@ -87,7 +87,7 @@ perf_ats_mlp_SOURCES = \
 perf_ats_mlp_LDADD = \
   $(GN_LIBGLPK) \
   $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/statistics/libgnunetstatistics.la  
+  $(top_builddir)/src/statistics/libgnunetstatistics.la
 endif
 
 test_ats_api_scheduling_SOURCES = \
index 6ed625bf427809704e5b36cde558150bc7d1b8c7..ca161d6b9693e785a63d2d6dc951fd4163fa4649 100644 (file)
@@ -748,7 +748,7 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg,
 
 
   mode = GNUNET_CONFIGURATION_get_value_yesno (cfg, "ats", "MLP");
-  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MLP mode %u", mode);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MLP mode %u", mode);
   switch (mode)
   {
     /* MLP = YES */
index e111dae951815cf7c8af126aaa87fbc904315f6e..21604edad8822168d8b7de3f27bf88fb9a480b03 100644 (file)
@@ -1341,7 +1341,11 @@ update_quality (struct GAS_MLP_Handle *mlp, struct ATS_Address * address)
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Updating quality metrics for peer `%s'\n",
       GNUNET_i2s (&address->peer));
+
+  GNUNET_assert (NULL != address);
+  GNUNET_assert (NULL != address->mlp_information);
   GNUNET_assert (NULL != address->ats);
+
   struct MLP_information *mlpi = address->mlp_information;
   struct GNUNET_ATS_Information *ats = address->ats;
   GNUNET_assert (mlpi != NULL);
index 0d261374b23d155fbddb5436cd04b25d5a85920c..b87bf21f0be881f0e314cfb2b5e68b78e61b2d6e 100644 (file)
@@ -100,31 +100,46 @@ check (void *cls, char *const *args, const char *cfgfile,
   mlp->auto_solve = GNUNET_NO;
   for (c=0; c < peers; c++)
   {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Setting up peer %u\n", c);
     GNUNET_CRYPTO_hash_create_random(GNUNET_CRYPTO_QUALITY_WEAK, &p[c].id.hashPubKey);
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "peer %s\n", GNUNET_h2s_full(&p[c].id.hashPubKey));
 
     for (c2=0; c2 < addresses; c2++)
     {
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Setting up address %u for peer %u\n", c2, c);
+      a[ca].mlp_information = NULL;
       a[ca].peer = p[c].id;
       a[ca].plugin = strdup("test");
-      a[ca].addr = GNUNET_HELLO_address_allocate(&a[ca].peer, a[ca].plugin, NULL, 0);
-      a[ca].addr_len = GNUNET_HELLO_address_get_size(a[ca].addr);
-      a[ca].ats = NULL;
+      //a[ca].addr = GNUNET_HELLO_address_allocate(&a[ca].peer, a[ca].plugin, NULL, 0);
+      //a[ca].addr_len = GNUNET_HELLO_address_get_size(a[ca].addr);
+      a[ca].ats = GNUNET_malloc (2 * sizeof (struct GNUNET_ATS_Information));
+      a[ca].ats[0].type = GNUNET_ATS_QUALITY_NET_DELAY;
+      a[ca].ats[0].value = 20;
+      a[ca].ats[1].type = GNUNET_ATS_QUALITY_NET_DISTANCE;
+      a[ca].ats[1].value = 2;
+      a[ca].ats_count = 2;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Setting up address %u\n", ca);
       ca++;
-      GAS_mlp_address_update(mlp, amap, &a[c2]);
+      /*
+      GNUNET_CONTAINER_multihashmap_put (amap, &a[ca].peer.hashPubKey, &a[ca], GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
+      GAS_mlp_address_update(mlp, amap, &a[ca]);
+      */
     }
+
   }
 
-  GAS_mlp_solve_problem(mlp);
+
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Problem contains %u peers and %u adresses\n", mlp->c_p, mlp->addr_in_problem);
+  /* Solving the problem */
+  //GAS_mlp_solve_problem(mlp);
 
 
-  GAS_mlp_done (mlp);
+  //GAS_mlp_done (mlp);
 
-  for (c2=0; c2 < (peers * addresses); c2++)
+  for (ca=0; ca < (peers * addresses); ca++)
   {
-    GNUNET_free (a[c2].plugin);
-    GNUNET_free (a[c2].addr);
-//      GAS_mlp_address_update(mlp, amap, &a[c2]);
+    GNUNET_free (a[ca].plugin);
+    GNUNET_free (a[ca].ats);
+   // GNUNET_free ((void *) a[c2].addr);
   }
 
   ret = 0;