[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r31047 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r31047 - gnunet/src/ats |
Date: |
Wed, 4 Dec 2013 18:35:11 +0100 |
Author: oehlmann
Date: 2013-12-04 18:35:11 +0100 (Wed, 04 Dec 2013)
New Revision: 31047
Modified:
gnunet/src/ats/test_ats_solver_convergence.c
Log:
added file-output for plots
Modified: gnunet/src/ats/test_ats_solver_convergence.c
===================================================================
--- gnunet/src/ats/test_ats_solver_convergence.c 2013-12-04 17:09:22 UTC
(rev 31046)
+++ gnunet/src/ats/test_ats_solver_convergence.c 2013-12-04 17:35:11 UTC
(rev 31047)
@@ -19,7 +19,7 @@
*/
/**
* @file ats/test_ats_solver_add_address.c
- * @brief solver test: add address, request address and wait for suggest
+ * @brief solver test: add address, request address and wait for suggests,
write data to file
* @author Christian Grothoff
* @author Matthias Wachs
* @author Fabian Oehlmann
@@ -83,27 +83,27 @@
/**
* Seconds to run the test
*/
-unsigned int seconds;
+static unsigned int seconds;
/**
* When the test starts
*/
-struct GNUNET_TIME_Absolute time_start;
+static struct GNUNET_TIME_Absolute time_start;
/**
* Whether to write a data file
*/
-int write_data_file;
+static int write_data_file;
/**
- * File handle
+ * File name
*/
-struct GNUNET_DISK_FileHandle *data_file_handle;
+static char *data_file_name;
/**
- * File name
+ * Run name
*/
-char *data_file_name;
+static char *run_name;
static int
stat_cb(void *cls, const char *subsystem, const char *name, uint64_t value,
@@ -135,9 +135,6 @@
/* Close data file */
if (write_data_file)
{
- if (GNUNET_SYSERR == GNUNET_DISK_file_close (data_file_handle))
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Cannot close log file '%s'\n",
- data_file_name);
GNUNET_free_non_null(data_file_name);
}
@@ -164,6 +161,7 @@
{
struct GNUNET_TIME_Relative time_delta;
char *data;
+ struct GNUNET_DISK_FileHandle *data_file_handle;
GNUNET_assert (NULL != address);
GNUNET_assert (NULL == session);
@@ -181,8 +179,22 @@
(double) time_delta.rel_value_us / 1000000.,
ntohl(bandwidth_in.value__)/1024,
ntohl(bandwidth_out.value__)/1024);
- if (GNUNET_SYSERR == GNUNET_DISK_file_write(data_file_handle, data,
strlen(data)))
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot write data to file
`%s'\n", data_file_name);
+ data_file_handle = GNUNET_DISK_file_open (data_file_name,
+ GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_APPEND,
+ GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ |
GNUNET_DISK_PERM_USER_WRITE);
+ if (NULL == data_file_handle)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot write data to file `%s'\n",
data_file_name);
+ }
+ else
+ {
+ if (GNUNET_SYSERR == GNUNET_DISK_file_write(data_file_handle, data,
strlen(data)))
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot write data to file
`%s'\n", data_file_name);
+ if (GNUNET_SYSERR == GNUNET_DISK_file_close (data_file_handle))
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Cannot close log file '%s'\n",
+ data_file_name);
+ }
+
GNUNET_free(data);
}
@@ -206,10 +218,11 @@
run (void *cls, const struct GNUNET_CONFIGURATION_Handle *mycfg,
struct GNUNET_TESTING_Peer *peer)
{
+ struct GNUNET_DISK_FileHandle *data_file_handle;
+
stats = GNUNET_STATISTICS_create ("ats", mycfg);
GNUNET_STATISTICS_watch (stats, "ats", "# addresses", &stat_cb, NULL);
-
/* Connect to ATS scheduling */
sched_ats = GNUNET_ATS_scheduling_init (mycfg, &address_suggest_cb, NULL);
if (sched_ats == NULL)
@@ -219,17 +232,26 @@
return;
}
- /* Set up file handle */
- GNUNET_asprintf (&data_file_name, "test_convergence_s%d.data", seconds);
- data_file_handle = GNUNET_DISK_file_open (data_file_name,
- GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE |
GNUNET_DISK_OPEN_TRUNCATE,
- GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ |
GNUNET_DISK_PERM_USER_WRITE);
- if (NULL == data_file_handle) {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not open data file\n");
- GNUNET_free(data_file_handle);
- GNUNET_free(data_file_name);
- GNUNET_SCHEDULER_add_now (&end_badly, NULL);
- return;
+ /* Create or truncate file */
+ if (write_data_file)
+ {
+ GNUNET_asprintf (&data_file_name, "test_convergence_%s_s%d.data",
run_name, seconds);
+ data_file_handle = GNUNET_DISK_file_open (data_file_name,
+ GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE |
GNUNET_DISK_OPEN_TRUNCATE,
+ GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ |
GNUNET_DISK_PERM_USER_WRITE);
+ if (NULL == data_file_handle)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not open data file\n");
+ GNUNET_SCHEDULER_add_now (&end_badly, NULL);
+ return;
+ }
+ if (GNUNET_SYSERR == GNUNET_DISK_file_close (data_file_handle))
+ {
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Cannot close log file '%s'\n",
+ data_file_name);
+ GNUNET_SCHEDULER_add_now (&end_badly, NULL);
+ return;
+ }
}
/* Set up peer */
@@ -322,6 +344,7 @@
main (int argc, char *argv[])
{
seconds = 5;
+ run_name = NULL;
static struct GNUNET_GETOPT_CommandLineOption options[] = {
{ 's', "seconds", NULL,
@@ -330,6 +353,9 @@
{ 'd', "data-file", NULL,
gettext_noop ("generate data file"),
0, &GNUNET_GETOPT_set_one, &write_data_file},
+ { 'r', "run-name", "NAME",
+ gettext_noop ("will be part of the data file name"),
+ 1, &GNUNET_GETOPT_set_string, &run_name},
GNUNET_GETOPT_OPTION_END
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r31047 - gnunet/src/ats,
gnunet <=