diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-01-23 14:56:59 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-01-23 14:56:59 +0000 |
commit | ee1c5c74a2409a52af706e613bd86a26341abba8 (patch) | |
tree | ef18e73357f63737c7560cc3a3ca7fb211bcd468 /src/ats-tests/ats-testing.h | |
parent | 65b732a465152cf0769651397ff9d2c0980e1727 (diff) | |
download | gnunet-ee1c5c74a2409a52af706e613bd86a26341abba8.tar.gz gnunet-ee1c5c74a2409a52af706e613bd86a26341abba8.zip |
new logging functionality
Diffstat (limited to 'src/ats-tests/ats-testing.h')
-rw-r--r-- | src/ats-tests/ats-testing.h | 65 |
1 files changed, 52 insertions, 13 deletions
diff --git a/src/ats-tests/ats-testing.h b/src/ats-tests/ats-testing.h index d57ce2667..028789d69 100644 --- a/src/ats-tests/ats-testing.h +++ b/src/ats-tests/ats-testing.h | |||
@@ -39,11 +39,19 @@ struct BenchmarkPartner; | |||
39 | struct BenchmarkPeer; | 39 | struct BenchmarkPeer; |
40 | struct GNUNET_ATS_TEST_Topology; | 40 | struct GNUNET_ATS_TEST_Topology; |
41 | struct TrafficGenerator; | 41 | struct TrafficGenerator; |
42 | struct LoggingHandle; | ||
42 | 43 | ||
43 | typedef void (*GNUNET_ATS_TESTING_TopologySetupDoneCallback) (void *cls, | 44 | typedef void (*GNUNET_ATS_TEST_TopologySetupDoneCallback) (void *cls, |
44 | struct BenchmarkPeer *masters, | 45 | struct BenchmarkPeer *masters, |
45 | struct BenchmarkPeer *slaves); | 46 | struct BenchmarkPeer *slaves); |
46 | 47 | ||
48 | typedef void | ||
49 | (*GNUNET_ATS_TEST_LogRequest) (void *cls, | ||
50 | const struct GNUNET_HELLO_Address *address, int address_active, | ||
51 | struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out, | ||
52 | struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in, | ||
53 | const struct GNUNET_ATS_Information *ats, uint32_t ats_count); | ||
54 | |||
47 | /** | 55 | /** |
48 | * Information we track for a peer in the testbed. | 56 | * Information we track for a peer in the testbed. |
49 | */ | 57 | */ |
@@ -309,11 +317,6 @@ struct GNUNET_ATS_TEST_Topology | |||
309 | */ | 317 | */ |
310 | int result; | 318 | int result; |
311 | 319 | ||
312 | /** | ||
313 | * Test result logging | ||
314 | */ | ||
315 | int logging; | ||
316 | |||
317 | /**Test core (GNUNET_YES) or transport (GNUNET_NO) | 320 | /**Test core (GNUNET_YES) or transport (GNUNET_NO) |
318 | */ | 321 | */ |
319 | int test_core; | 322 | int test_core; |
@@ -377,11 +380,22 @@ struct GNUNET_ATS_TEST_Topology | |||
377 | 380 | ||
378 | GNUNET_TRANSPORT_ReceiveCallback transport_recv_cb; | 381 | GNUNET_TRANSPORT_ReceiveCallback transport_recv_cb; |
379 | 382 | ||
380 | GNUNET_ATS_TESTING_TopologySetupDoneCallback done_cb; | 383 | GNUNET_ATS_TEST_TopologySetupDoneCallback done_cb; |
381 | GNUNET_ATS_AddressInformationCallback ats_perf_cb; | 384 | GNUNET_ATS_AddressInformationCallback ats_perf_cb; |
382 | void *done_cb_cls; | 385 | void *done_cb_cls; |
383 | }; | 386 | }; |
384 | 387 | ||
388 | struct Experiment; | ||
389 | |||
390 | struct Episode; | ||
391 | |||
392 | typedef void (*GNUNET_ATS_TESTING_EpisodeDoneCallback) ( | ||
393 | struct Episode *e); | ||
394 | |||
395 | typedef void (*GNUNET_ATS_TESTING_ExperimentDoneCallback) ( | ||
396 | struct Experiment *e, int success); | ||
397 | |||
398 | |||
385 | struct Experiment | 399 | struct Experiment |
386 | { | 400 | { |
387 | char *name; | 401 | char *name; |
@@ -389,10 +403,33 @@ struct Experiment | |||
389 | unsigned long long int num_masters; | 403 | unsigned long long int num_masters; |
390 | unsigned long long int num_slaves; | 404 | unsigned long long int num_slaves; |
391 | struct GNUNET_TIME_Relative max_duration; | 405 | struct GNUNET_TIME_Relative max_duration; |
406 | struct GNUNET_TIME_Relative total_duration; | ||
407 | struct GNUNET_TIME_Absolute start_time; | ||
408 | unsigned int num_episodes; | ||
409 | struct Episode *start; | ||
410 | |||
411 | GNUNET_SCHEDULER_TaskIdentifier experiment_timeout_task; | ||
412 | GNUNET_SCHEDULER_TaskIdentifier episode_timeout_task; | ||
413 | struct Episode *cur; | ||
414 | |||
415 | GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb; | ||
416 | GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb; | ||
417 | }; | ||
418 | |||
419 | struct Episode | ||
420 | { | ||
421 | int id; | ||
422 | struct Episode *next; | ||
423 | struct GNUNET_TIME_Relative duration; | ||
392 | }; | 424 | }; |
393 | 425 | ||
426 | void | ||
427 | GNUNET_ATS_TEST_experimentation_run (struct Experiment *e, | ||
428 | GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb, | ||
429 | GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb); | ||
430 | |||
394 | struct Experiment * | 431 | struct Experiment * |
395 | GNUNET_ATS_TEST_experimentation_start (char *filename); | 432 | GNUNET_ATS_TEST_experimentation_load (char *filename); |
396 | 433 | ||
397 | void | 434 | void |
398 | GNUNET_ATS_TEST_experimentation_stop (struct Experiment *e); | 435 | GNUNET_ATS_TEST_experimentation_stop (struct Experiment *e); |
@@ -415,7 +452,7 @@ GNUNET_ATS_TEST_generate_traffic_stop_all (); | |||
415 | /** | 452 | /** |
416 | * Start logging | 453 | * Start logging |
417 | */ | 454 | */ |
418 | void | 455 | struct LoggingHandle * |
419 | GNUNET_ATS_TEST_logging_start (struct GNUNET_TIME_Relative log_frequency, | 456 | GNUNET_ATS_TEST_logging_start (struct GNUNET_TIME_Relative log_frequency, |
420 | char * testname, struct BenchmarkPeer *masters, int num_masters); | 457 | char * testname, struct BenchmarkPeer *masters, int num_masters); |
421 | 458 | ||
@@ -423,14 +460,16 @@ GNUNET_ATS_TEST_logging_start (struct GNUNET_TIME_Relative log_frequency, | |||
423 | * Stop logging | 460 | * Stop logging |
424 | */ | 461 | */ |
425 | void | 462 | void |
426 | GNUNET_ATS_TEST_logging_stop (void); | 463 | GNUNET_ATS_TEST_logging_stop (struct LoggingHandle *); |
427 | 464 | ||
428 | /** | 465 | /** |
429 | * Log all data now | 466 | * Log all data now |
430 | */ | 467 | */ |
431 | void | 468 | void |
432 | GNUNET_ATS_TEST_logging_now (void); | 469 | GNUNET_ATS_TEST_logging_now (struct LoggingHandle *); |
433 | 470 | ||
471 | void | ||
472 | GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *, char *test); | ||
434 | 473 | ||
435 | void | 474 | void |
436 | GNUNET_ATS_TEST_traffic_handle_ping (struct BenchmarkPartner *p); | 475 | GNUNET_ATS_TEST_traffic_handle_ping (struct BenchmarkPartner *p); |
@@ -444,10 +483,10 @@ GNUNET_ATS_TEST_create_topology (char *name, char *cfg_file, | |||
444 | unsigned int num_slaves, | 483 | unsigned int num_slaves, |
445 | unsigned int num_masters, | 484 | unsigned int num_masters, |
446 | int test_core, | 485 | int test_core, |
447 | GNUNET_ATS_TESTING_TopologySetupDoneCallback done_cb, | 486 | GNUNET_ATS_TEST_TopologySetupDoneCallback done_cb, |
448 | void *done_cb_cls, | 487 | void *done_cb_cls, |
449 | GNUNET_TRANSPORT_ReceiveCallback transport_recv_cb, | 488 | GNUNET_TRANSPORT_ReceiveCallback transport_recv_cb, |
450 | GNUNET_ATS_AddressInformationCallback ats_perf_cb); | 489 | GNUNET_ATS_TEST_LogRequest ats_perf_cb); |
451 | 490 | ||
452 | void | 491 | void |
453 | GNUNET_ATS_TEST_shutdown_topology (void); | 492 | GNUNET_ATS_TEST_shutdown_topology (void); |