[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15057 - gnunet/src/transport,
gnunet <=