{
if (VERBOSE_ATS) GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "[%i][%i] `%s' %s %s %f\n", c, t->col_index, GNUNET_h2s(&peers[c].peer.hashPubKey), t->plugin->short_name, glp_get_col_name(prob,t->col_index), bw);
if (check ==GNUNET_YES)
+ {
+ glp_write_sol(prob, "invalid_solution.mlp");
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Invalid solution, check invalid_solution.mlp");
+ GNUNET_STATISTICS_update (stats, "ATS invalid solutions", 1, GNUNET_NO);
error = GNUNET_YES;
+ }
if (check ==GNUNET_NO)
check = GNUNET_YES;
}
- GNUNET_assert (error != GNUNET_YES);
t = t->next;
}
}
#include "gnunet_scheduler_lib.h"
#include "gauger.h"
-#define VERBOSE GNUNET_YES
+#define VERBOSE GNUNET_NO
#define NUM_PEERS 11
#define MEASUREMENTS 5
struct GNUNET_STATISTICS_GetHandle * s_peers;
struct GNUNET_STATISTICS_GetHandle * s_mechs;
struct GNUNET_STATISTICS_GetHandle * s_duration;
+struct GNUNET_STATISTICS_GetHandle * s_invalid;
/**
* Check whether peers successfully shut down.
s_duration = NULL;
}
-
GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
}
uint64_t value,
int is_persistent)
{
+
+ if (0 == strcmp (name,"ATS invalid solutions"))
+ {
+ if (stats_task != GNUNET_SCHEDULER_NO_TASK)
+ {
+ GNUNET_SCHEDULER_cancel(stats_task);
+ stats_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"MLP produced invalid %llu result(s)!\n", value);
+ shutdown_peers();
+ return GNUNET_SYSERR;
+ }
+
+
if (0 == strcmp (name,"ATS solution"))
{
s_solution = NULL;
fprintf(stderr, "..");
results[r_index].timestamp = value;
+ return GNUNET_SYSERR;
}
//GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "[%i] ATS solution: %s %llu \n", r_index, name, value);
}
s_duration = GNUNET_STATISTICS_get (stats, "transport","ATS duration", TIMEOUT, NULL, &stats_cb, NULL);
s_peers = GNUNET_STATISTICS_get (stats, "transport", "ATS peers", TIMEOUT, NULL, &stats_cb, NULL);
s_mechs = GNUNET_STATISTICS_get (stats, "transport", "ATS mechanisms", TIMEOUT, NULL, &stats_cb, NULL);
+ s_mechs = GNUNET_STATISTICS_get (stats, "transport", "ATS invalid solutions", TIMEOUT, NULL, &stats_cb, NULL);
+
stats_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 250), &stats_get_task, NULL);
}
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Too many peers failed, ending test!\n");
- GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
+ shutdown_peers();
ok = 1;
}
}
"WARNING",
#endif
NULL);
+ GNUNET_DISK_directory_remove ("/tmp/test-gnunet-testing");
peers = NUM_PEERS;
if (argc >= 2)