aboutsummaryrefslogtreecommitdiff
path: root/src/ats-tests/ats-testing-experiment.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-01-23 16:36:02 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-01-23 16:36:02 +0000
commit46430c183d3997aca16602c40ac8f0b4280d9966 (patch)
treea2bba268589a5fe138b6615c9bb64b9a62602b0a /src/ats-tests/ats-testing-experiment.c
parent30f20a6823e01d794032a201fbef3a3d8285524b (diff)
downloadgnunet-46430c183d3997aca16602c40ac8f0b4280d9966.tar.gz
gnunet-46430c183d3997aca16602c40ac8f0b4280d9966.zip
enforcing operations
Diffstat (limited to 'src/ats-tests/ats-testing-experiment.c')
-rw-r--r--src/ats-tests/ats-testing-experiment.c56
1 files changed, 55 insertions, 1 deletions
diff --git a/src/ats-tests/ats-testing-experiment.c b/src/ats-tests/ats-testing-experiment.c
index e7e3cb982..54c7675d7 100644
--- a/src/ats-tests/ats-testing-experiment.c
+++ b/src/ats-tests/ats-testing-experiment.c
@@ -121,7 +121,7 @@ load_episode (struct Experiment *e, struct Episode *cur,
121 { 121 {
122 o->type = SET_RATE; 122 o->type = SET_RATE;
123 } 123 }
124 else if (0 == strcmp (op, "set_preference ")) 124 else if (0 == strcmp (op, "set_preference"))
125 { 125 {
126 o->type = SET_PREFERENCE; 126 o->type = SET_PREFERENCE;
127 } 127 }
@@ -264,6 +264,57 @@ timeout_experiment (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc)
264} 264}
265 265
266static void 266static void
267enforce_start_send (struct Operation *op)
268{
269 GNUNET_break (0);
270}
271
272static void
273enforce_stop_send (struct Operation *op)
274{
275 GNUNET_break (0);
276}
277
278static void
279enforce_set_rate (struct Operation *op)
280{
281 GNUNET_break (0);
282}
283
284static void
285enforce_set_preference (struct Operation *op)
286{
287 GNUNET_break (0);
288}
289
290static void enforce_episode (struct Episode *ep)
291{
292 struct Operation *cur;
293 for (cur = ep->head; NULL != cur; cur = cur->next)
294 {
295
296 fprintf (stderr, "Enforcing operation: %s [%llu]->[%llu] == %llu\n",
297 print_op (cur->type), cur->src_id, cur->dest_id, cur->value);
298 switch (cur->type) {
299 case START_SEND:
300 enforce_start_send (cur);
301 break;
302 case STOP_SEND:
303 enforce_stop_send (cur);
304 break;
305 case SET_RATE:
306 enforce_set_rate (cur);
307 break;
308 case SET_PREFERENCE:
309 enforce_set_preference (cur);
310 break;
311 default:
312 break;
313 }
314 }
315}
316
317static void
267timeout_episode (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc) 318timeout_episode (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc)
268{ 319{
269 struct Experiment *e = cls; 320 struct Experiment *e = cls;
@@ -288,6 +339,8 @@ timeout_episode (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc)
288 fprintf (stderr, "Running episode %u with timeout %s\n", 339 fprintf (stderr, "Running episode %u with timeout %s\n",
289 e->cur->id, 340 e->cur->id,
290 GNUNET_STRINGS_relative_time_to_string(e->cur->duration, GNUNET_YES)); 341 GNUNET_STRINGS_relative_time_to_string(e->cur->duration, GNUNET_YES));
342 enforce_episode(e->cur);
343
291 e->episode_timeout_task = GNUNET_SCHEDULER_add_delayed (e->cur->duration, 344 e->episode_timeout_task = GNUNET_SCHEDULER_add_delayed (e->cur->duration,
292 &timeout_episode, e); 345 &timeout_episode, e);
293} 346}
@@ -313,6 +366,7 @@ GNUNET_ATS_TEST_experimentation_run (struct Experiment *e,
313 fprintf (stderr, "Running episode %u with timeout %s\n", 366 fprintf (stderr, "Running episode %u with timeout %s\n",
314 e->cur->id, 367 e->cur->id,
315 GNUNET_STRINGS_relative_time_to_string(e->cur->duration, GNUNET_YES)); 368 GNUNET_STRINGS_relative_time_to_string(e->cur->duration, GNUNET_YES));
369 enforce_episode(e->cur);
316 e->episode_timeout_task = GNUNET_SCHEDULER_add_delayed (e->cur->duration, 370 e->episode_timeout_task = GNUNET_SCHEDULER_add_delayed (e->cur->duration,
317 &timeout_episode, e); 371 &timeout_episode, e);
318 372