gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r15057 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r15057 - gnunet/src/transport
Date: Wed, 20 Apr 2011 16:46:11 +0200

Author: wachs
Date: 2011-04-20 16:46:11 +0200 (Wed, 20 Apr 2011)
New Revision: 15057

Modified:
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/test_transport_ats_4addr.conf
Log:
improvements


Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2011-04-20 14:44:51 UTC 
(rev 15056)
+++ gnunet/src/transport/gnunet-service-transport.c     2011-04-20 14:46:11 UTC 
(rev 15057)
@@ -1047,6 +1047,21 @@
        int save_solution;
 
        /**
+        * Dump solution when minimum peers:
+        */
+       int dump_min_peers;
+
+       /**
+        * Dump solution when minimum addresses:
+        */
+       int dump_min_addr;
+
+       /**
+        * Dump solution overwrite file:
+        */
+       int dump_overwrite;
+
+       /**
         * Ressource costs or quality metrics changed
         * update problem before solving
         */
@@ -6945,30 +6960,46 @@
                else if (ats->simplex_rerun_required == GNUNET_NO)
                        GNUNET_STATISTICS_set (stats, "ATS state", 
ATS_UNMODIFIED, GNUNET_NO);
        }
-
-       if (ats->save_mlp == GNUNET_YES)
+#endif
+       if ((ats->save_mlp == GNUNET_YES) && (ats->stat.c_mechs >= 
ats->dump_min_peers) && (ats->stat.c_mechs >= ats->dump_min_addr))
        {
                char * filename;
-               GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i_%llu.mlp",
-                               ats->stat.c_peers, ats->stat.c_mechs, 
GNUNET_TIME_absolute_get().abs_value);
-               //if (GNUNET_NO == GNUNET_DISK_file_test(filename))
+               if (ats->dump_overwrite == GNUNET_NO)
+               {
+                       GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i_%llu.mlp",
+                       ats->stat.c_peers, ats->stat.c_mechs, 
GNUNET_TIME_absolute_get().abs_value);
                        glp_write_lp (ats->prob, NULL, filename);
+               }
+               else
+               {
+                       GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i.mlp",
+                       ats->stat.c_peers, ats->stat.c_mechs );
+                       glp_write_lp (ats->prob, NULL, filename);
+               }
                GNUNET_free (filename);
        }
-       if (ats->save_solution == GNUNET_YES)
+       if ((ats->save_solution == GNUNET_YES) && (ats->stat.c_mechs >= 
ats->dump_min_peers) && (ats->stat.c_mechs >= ats->dump_min_addr))
        {
                char * filename;
-               GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i_%llu.sol",
-                               ats->stat.c_peers, ats->stat.c_mechs, 
GNUNET_TIME_absolute_get().abs_value);
-               //if (GNUNET_NO == GNUNET_DISK_file_test(filename))
+               if (ats->dump_overwrite == GNUNET_NO)
+               {
+                       GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i_%llu.sol",
+                       ats->stat.c_peers, ats->stat.c_mechs, 
GNUNET_TIME_absolute_get().abs_value);
                        glp_print_sol (ats->prob, filename);
+               }
+               else
+               {
+                       GNUNET_asprintf (&filename, "ats_mlp_p%i_m%i.sol",
+                       ats->stat.c_peers, ats->stat.c_mechs);
+                       glp_print_sol (ats->prob, filename);
+               }
                GNUNET_free (filename);
        }
        ats->last = GNUNET_TIME_absolute_get();
        ats->modified_addr = GNUNET_NO;
        ats->modified_resources = GNUNET_NO;
        ats->modified_quality = GNUNET_NO;
-#endif
+
 }
 
 static void
@@ -7016,6 +7047,10 @@
        ats->R = 1.0;
        ats->v_b_min = 64000;
        ats->v_n_min = 10;
+       ats->dump_min_peers = 1;
+       ats->dump_min_addr = 1;
+       ats->dump_overwrite = GNUNET_NO;
+
 #if HAVE_LIBGLPK
        ats->prob = NULL;
 #endif
@@ -7054,7 +7089,30 @@
 
        if (GNUNET_CONFIGURATION_have_value(cfg, "transport", "DUMP_SOLUTION"))
                ats->save_solution = GNUNET_CONFIGURATION_get_value_yesno (cfg, 
"transport","DUMP_SOLUTION");
+       if (GNUNET_CONFIGURATION_have_value(cfg, "transport", "DUMP_OVERWRITE"))
+               ats->dump_overwrite = GNUNET_CONFIGURATION_get_value_yesno 
(cfg, "transport","DUMP_OVERWRITE");
+       if (GNUNET_CONFIGURATION_have_value(cfg, "transport", "DUMP_MIN_PEERS"))
+       {
+               GNUNET_CONFIGURATION_get_value_number(cfg, 
"transport","DUMP_MIN_PEERS", &value);
+               ats->dump_min_peers= value;
+       }
+       if (GNUNET_CONFIGURATION_have_value(cfg, "transport", "DUMP_MIN_ADDRS"))
+       {
+               GNUNET_CONFIGURATION_get_value_number(cfg, 
"transport","DUMP_MIN_ADDRS", &value);
+               ats->dump_min_addr= value;
+       }
+       if (GNUNET_CONFIGURATION_have_value(cfg, "transport", "DUMP_OVERWRITE"))
+       {
+               GNUNET_CONFIGURATION_get_value_number(cfg, 
"transport","DUMP_OVERWRITE", &value);
+               ats->min_delta.rel_value = value;
+       }
 
+       if (GNUNET_CONFIGURATION_have_value(cfg, "transport", 
"ATS_MIN_INTERVAL"))
+       {
+               GNUNET_CONFIGURATION_get_value_number(cfg, 
"transport","ATS_MIN_INTERVAL", &value);
+               ats->min_delta.rel_value = value;
+       }
+
        if (GNUNET_CONFIGURATION_have_value(cfg, "transport", 
"ATS_EXEC_INTERVAL"))
        {
                GNUNET_CONFIGURATION_get_value_number(cfg, 
"transport","ATS_EXEC_INTERVAL", &value);

Modified: gnunet/src/transport/test_transport_ats_4addr.conf
===================================================================
--- gnunet/src/transport/test_transport_ats_4addr.conf  2011-04-20 14:44:51 UTC 
(rev 15056)
+++ gnunet/src/transport/test_transport_ats_4addr.conf  2011-04-20 14:46:11 UTC 
(rev 15057)
@@ -18,6 +18,9 @@
 #WLAN_ENERGY_DOWN_LIMIT = 0
 #WLAN_ENERGY_UP_LIMIT = 30
 #DUMP_MLP = YES
+#DUMP_OVERWRITE = YES
+#DUMP_MIN_PEERS = 500
+#DUMP_MIN_ADDRS = 2000
 #DUMP_SOLUTION = YES
 ATS_MIN_INTERVAL = 100
 ATS_EXEC_INTERVAL = 250




reply via email to

[Prev in Thread] Current Thread [Next in Thread]