aboutsummaryrefslogtreecommitdiff
path: root/src/ats/perf_ats.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-08-06 07:57:41 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-08-06 07:57:41 +0000
commit0d001a0a8cbda2dc755ed6b3c5e149cf3efe6cc3 (patch)
treebbfc9523bed70527b17b9a0383e9bfb06ce0ccf2 /src/ats/perf_ats.c
parent6810ab6b295f706eb3660139b4c4b21b65835473 (diff)
downloadgnunet-0d001a0a8cbda2dc755ed6b3c5e149cf3efe6cc3.tar.gz
gnunet-0d001a0a8cbda2dc755ed6b3c5e149cf3efe6cc3.zip
variable number of peer
Diffstat (limited to 'src/ats/perf_ats.c')
-rw-r--r--src/ats/perf_ats.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/ats/perf_ats.c b/src/ats/perf_ats.c
index 2f1830381..f60a2f345 100644
--- a/src/ats/perf_ats.c
+++ b/src/ats/perf_ats.c
@@ -30,7 +30,7 @@
30 30
31#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5) 31#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
32#define TESTNAME_PREFIX "perf_ats_" 32#define TESTNAME_PREFIX "perf_ats_"
33#define NUM_PEERS 4 /* At least 2 */ 33#define DEFAULT_NUM 5
34 34
35/** 35/**
36 * Information we track for a peer in the testbed. 36 * Information we track for a peer in the testbed.
@@ -52,7 +52,7 @@ struct BenchmarkPeer
52 52
53}; 53};
54 54
55struct BenchmarkPeer ph[NUM_PEERS]; 55struct BenchmarkPeer *ph;
56 56
57 57
58 58
@@ -65,6 +65,8 @@ static int result;
65static char *solver; 65static char *solver;
66static char *preference; 66static char *preference;
67 67
68static int peers;
69
68/** 70/**
69 * Shutdown nicely 71 * Shutdown nicely
70 * 72 *
@@ -166,7 +168,7 @@ test_master (void *cls, unsigned int num_peers,
166 shutdown_task = GNUNET_SCHEDULER_add_delayed (TEST_TIMEOUT, &do_shutdown, NULL); 168 shutdown_task = GNUNET_SCHEDULER_add_delayed (TEST_TIMEOUT, &do_shutdown, NULL);
167 169
168 GNUNET_assert (NULL == cls); 170 GNUNET_assert (NULL == cls);
169 GNUNET_assert (NUM_PEERS == num_peers); 171 GNUNET_assert (peers == num_peers);
170 GNUNET_assert (NULL != peers_); 172 GNUNET_assert (NULL != peers_);
171 173
172 for (c_p = 0; c_p < num_peers; c_p++) 174 for (c_p = 0; c_p < num_peers; c_p++)
@@ -194,7 +196,9 @@ main (int argc, char *argv[])
194 char *tmp_sep; 196 char *tmp_sep;
195 char *test_name; 197 char *test_name;
196 char *conf_name; 198 char *conf_name;
199 int c;
197 200
201 peers = 0;
198 result = 1; 202 result = 1;
199 203
200 /* figure out testname */ 204 /* figure out testname */
@@ -219,6 +223,23 @@ main (int argc, char *argv[])
219 GNUNET_asprintf(&conf_name, "%s%s_%s.conf", TESTNAME_PREFIX, solver, preference); 223 GNUNET_asprintf(&conf_name, "%s%s_%s.conf", TESTNAME_PREFIX, solver, preference);
220 GNUNET_asprintf(&test_name, "%s%s_%s", TESTNAME_PREFIX, solver, preference); 224 GNUNET_asprintf(&test_name, "%s%s_%s", TESTNAME_PREFIX, solver, preference);
221 225
226 for (c = 0; c < argc; c++)
227 {
228 if (0 == strcmp(argv[c], "-c"))
229 break;
230 }
231 if (c <= argc-1)
232 {
233 if (0L != (peers = strtol (argv[c + 1], NULL, 10)))
234 {
235 peers = strtol (argv[c + 1], NULL, 10);
236 fprintf (stderr, "Starting %u peers\n", peers);
237 }
238 }
239 else
240 peers = DEFAULT_NUM;
241
242
222 /* Start topology */ 243 /* Start topology */
223 uint64_t event_mask; 244 uint64_t event_mask;
224 result = GNUNET_SYSERR; 245 result = GNUNET_SYSERR;
@@ -226,7 +247,7 @@ main (int argc, char *argv[])
226 event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT); 247 event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT);
227 event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED); 248 event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED);
228 (void) GNUNET_TESTBED_test_run (test_name, 249 (void) GNUNET_TESTBED_test_run (test_name,
229 conf_name, NUM_PEERS, 250 conf_name, peers,
230 event_mask, &controller_event_cb, NULL, 251 event_mask, &controller_event_cb, NULL,
231 &test_master, NULL); 252 &test_master, NULL);
232 253