summaryrefslogtreecommitdiff
path: root/src/ats-tests/ats-testing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ats-tests/ats-testing.h')
-rw-r--r--src/ats-tests/ats-testing.h102
1 files changed, 57 insertions, 45 deletions
diff --git a/src/ats-tests/ats-testing.h b/src/ats-tests/ats-testing.h
index ff3a40837..017ffef4f 100644
--- a/src/ats-tests/ats-testing.h
+++ b/src/ats-tests/ats-testing.h
@@ -48,7 +48,8 @@
48#define TEST_MESSAGE_SIZE 100 48#define TEST_MESSAGE_SIZE 100
49 49
50 50
51struct TestMessage { 51struct TestMessage
52{
52 struct GNUNET_MessageHeader header; 53 struct GNUNET_MessageHeader header;
53 54
54 uint8_t padding[TEST_MESSAGE_SIZE - sizeof(struct GNUNET_MessageHeader)]; 55 uint8_t padding[TEST_MESSAGE_SIZE - sizeof(struct GNUNET_MessageHeader)];
@@ -65,7 +66,8 @@ struct TrafficGenerator;
65 66
66struct LoggingHandle; 67struct LoggingHandle;
67 68
68enum GeneratorType { 69enum GeneratorType
70{
69 GNUNET_ATS_TEST_TG_LINEAR, 71 GNUNET_ATS_TEST_TG_LINEAR,
70 GNUNET_ATS_TEST_TG_CONSTANT, 72 GNUNET_ATS_TEST_TG_CONSTANT,
71 GNUNET_ATS_TEST_TG_RANDOM, 73 GNUNET_ATS_TEST_TG_RANDOM,
@@ -106,7 +108,8 @@ typedef void (*GNUNET_ATS_TEST_LogRequest) (
106/** 108/**
107 * Information we track for a peer in the testbed. 109 * Information we track for a peer in the testbed.
108 */ 110 */
109struct BenchmarkPeer { 111struct BenchmarkPeer
112{
110 /** 113 /**
111 * Handle with testbed. 114 * Handle with testbed.
112 */ 115 */
@@ -224,7 +227,8 @@ struct BenchmarkPeer {
224 unsigned int total_bytes_received; 227 unsigned int total_bytes_received;
225}; 228};
226 229
227struct TrafficGenerator { 230struct TrafficGenerator
231{
228 struct TrafficGenerator *prev; 232 struct TrafficGenerator *prev;
229 struct TrafficGenerator *next; 233 struct TrafficGenerator *next;
230 234
@@ -243,7 +247,8 @@ struct TrafficGenerator {
243}; 247};
244 248
245 249
246struct PreferenceGenerator { 250struct PreferenceGenerator
251{
247 struct PreferenceGenerator *prev; 252 struct PreferenceGenerator *prev;
248 struct PreferenceGenerator *next; 253 struct PreferenceGenerator *next;
249 254
@@ -267,7 +272,8 @@ struct PreferenceGenerator {
267/** 272/**
268 * Information about a benchmarking partner 273 * Information about a benchmarking partner
269 */ 274 */
270struct BenchmarkPartner { 275struct BenchmarkPartner
276{
271 /** 277 /**
272 * The peer itself this partner belongs to 278 * The peer itself this partner belongs to
273 */ 279 */
@@ -353,7 +359,8 @@ struct BenchmarkPartner {
353/** 359/**
354 * Overall state of the performance benchmark 360 * Overall state of the performance benchmark
355 */ 361 */
356struct BenchmarkState { 362struct BenchmarkState
363{
357 /** 364 /**
358 * Are we connected to ATS service of all peers: GNUNET_YES/NO 365 * Are we connected to ATS service of all peers: GNUNET_YES/NO
359 */ 366 */
@@ -381,7 +388,8 @@ struct BenchmarkState {
381}; 388};
382 389
383 390
384struct GNUNET_ATS_TEST_Topology { 391struct GNUNET_ATS_TEST_Topology
392{
385 /** 393 /**
386 * Progress task 394 * Progress task
387 */ 395 */
@@ -459,7 +467,8 @@ struct GNUNET_ATS_TEST_Topology {
459 void *done_cb_cls; 467 void *done_cb_cls;
460}; 468};
461 469
462enum OperationType { 470enum OperationType
471{
463 START_SEND, 472 START_SEND,
464 STOP_SEND, 473 STOP_SEND,
465 START_PREFERENCE, 474 START_PREFERENCE,
@@ -480,7 +489,8 @@ typedef void (*GNUNET_ATS_TESTING_ExperimentDoneCallback) (
480/** 489/**
481 * An operation in an experiment 490 * An operation in an experiment
482 */ 491 */
483struct GNUNET_ATS_TEST_Operation { 492struct GNUNET_ATS_TEST_Operation
493{
484 struct GNUNET_ATS_TEST_Operation *next; 494 struct GNUNET_ATS_TEST_Operation *next;
485 struct GNUNET_ATS_TEST_Operation *prev; 495 struct GNUNET_ATS_TEST_Operation *prev;
486 496
@@ -497,7 +507,8 @@ struct GNUNET_ATS_TEST_Operation {
497 enum GNUNET_ATS_PreferenceKind pref_type; 507 enum GNUNET_ATS_PreferenceKind pref_type;
498}; 508};
499 509
500struct Episode { 510struct Episode
511{
501 int id; 512 int id;
502 struct Episode *next; 513 struct Episode *next;
503 struct GNUNET_TIME_Relative duration; 514 struct GNUNET_TIME_Relative duration;
@@ -507,7 +518,8 @@ struct Episode {
507}; 518};
508 519
509 520
510struct Experiment { 521struct Experiment
522{
511 char *name; 523 char *name;
512 char *cfg_file; 524 char *cfg_file;
513 unsigned long long int num_masters; 525 unsigned long long int num_masters;
@@ -538,7 +550,7 @@ extern struct GNUNET_CONFIGURATION_Handle *cfg;
538 * @param e_done_cb the experiment is completed 550 * @param e_done_cb the experiment is completed
539 */ 551 */
540void 552void
541GNUNET_ATS_TEST_experimentation_run( 553GNUNET_ATS_TEST_experimentation_run (
542 struct Experiment *e, 554 struct Experiment *e,
543 GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb, 555 GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb,
544 GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb); 556 GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb);
@@ -551,7 +563,7 @@ GNUNET_ATS_TEST_experimentation_run(
551 * @return the Experiment or NULL on failure 563 * @return the Experiment or NULL on failure
552 */ 564 */
553struct Experiment * 565struct Experiment *
554GNUNET_ATS_TEST_experimentation_load(const char *filename); 566GNUNET_ATS_TEST_experimentation_load (const char *filename);
555 567
556 568
557/** 569/**
@@ -560,15 +572,15 @@ GNUNET_ATS_TEST_experimentation_load(const char *filename);
560 * @param e the experiment 572 * @param e the experiment
561 */ 573 */
562void 574void
563GNUNET_ATS_TEST_experimentation_stop(struct Experiment *e); 575GNUNET_ATS_TEST_experimentation_stop (struct Experiment *e);
564 576
565 577
566void 578void
567GNUNET_ATS_TEST_traffic_handle_ping(struct BenchmarkPartner *p); 579GNUNET_ATS_TEST_traffic_handle_ping (struct BenchmarkPartner *p);
568 580
569 581
570void 582void
571GNUNET_ATS_TEST_traffic_handle_pong(struct BenchmarkPartner *p); 583GNUNET_ATS_TEST_traffic_handle_pong (struct BenchmarkPartner *p);
572 584
573 585
574/** 586/**
@@ -585,24 +597,24 @@ GNUNET_ATS_TEST_traffic_handle_pong(struct BenchmarkPartner *p);
585 * @return the traffic generator 597 * @return the traffic generator
586 */ 598 */
587struct TrafficGenerator * 599struct TrafficGenerator *
588GNUNET_ATS_TEST_generate_traffic_start(struct BenchmarkPeer *src, 600GNUNET_ATS_TEST_generate_traffic_start (struct BenchmarkPeer *src,
589 struct BenchmarkPartner *dest, 601 struct BenchmarkPartner *dest,
590 enum GeneratorType type, 602 enum GeneratorType type,
591 unsigned int base_rate, 603 unsigned int base_rate,
592 unsigned int max_rate, 604 unsigned int max_rate,
593 struct GNUNET_TIME_Relative period, 605 struct GNUNET_TIME_Relative period,
594 struct GNUNET_TIME_Relative duration); 606 struct GNUNET_TIME_Relative duration);
595 607
596 608
597void 609void
598GNUNET_ATS_TEST_generate_traffic_stop(struct TrafficGenerator *tg); 610GNUNET_ATS_TEST_generate_traffic_stop (struct TrafficGenerator *tg);
599 611
600 612
601/** 613/**
602 * Stop all traffic generators 614 * Stop all traffic generators
603 */ 615 */
604void 616void
605GNUNET_ATS_TEST_generate_traffic_stop_all(void); 617GNUNET_ATS_TEST_generate_traffic_stop_all (void);
606 618
607 619
608/** 620/**
@@ -620,7 +632,7 @@ GNUNET_ATS_TEST_generate_traffic_stop_all(void);
620 * @return the traffic generator 632 * @return the traffic generator
621 */ 633 */
622struct PreferenceGenerator * 634struct PreferenceGenerator *
623GNUNET_ATS_TEST_generate_preferences_start( 635GNUNET_ATS_TEST_generate_preferences_start (
624 struct BenchmarkPeer *src, 636 struct BenchmarkPeer *src,
625 struct BenchmarkPartner *dest, 637 struct BenchmarkPartner *dest,
626 enum GeneratorType type, 638 enum GeneratorType type,
@@ -632,11 +644,11 @@ GNUNET_ATS_TEST_generate_preferences_start(
632 644
633 645
634void 646void
635GNUNET_ATS_TEST_generate_preferences_stop(struct PreferenceGenerator *pg); 647GNUNET_ATS_TEST_generate_preferences_stop (struct PreferenceGenerator *pg);
636 648
637 649
638void 650void
639GNUNET_ATS_TEST_generate_preferences_stop_all(void); 651GNUNET_ATS_TEST_generate_preferences_stop_all (void);
640 652
641 653
642/** 654/**
@@ -651,12 +663,12 @@ GNUNET_ATS_TEST_generate_preferences_stop_all(void);
651 * @return the logging handle or NULL on error 663 * @return the logging handle or NULL on error
652 */ 664 */
653struct LoggingHandle * 665struct LoggingHandle *
654GNUNET_ATS_TEST_logging_start(struct GNUNET_TIME_Relative log_frequency, 666GNUNET_ATS_TEST_logging_start (struct GNUNET_TIME_Relative log_frequency,
655 const char *testname, 667 const char *testname,
656 struct BenchmarkPeer *masters, 668 struct BenchmarkPeer *masters,
657 int num_masters, 669 int num_masters,
658 int num_slaves, 670 int num_slaves,
659 int verbose); 671 int verbose);
660 672
661 673
662/** 674/**
@@ -665,7 +677,7 @@ GNUNET_ATS_TEST_logging_start(struct GNUNET_TIME_Relative log_frequency,
665 * @param l the logging handle 677 * @param l the logging handle
666 */ 678 */
667void 679void
668GNUNET_ATS_TEST_logging_clean_up(struct LoggingHandle *l); 680GNUNET_ATS_TEST_logging_clean_up (struct LoggingHandle *l);
669 681
670 682
671/** 683/**
@@ -674,7 +686,7 @@ GNUNET_ATS_TEST_logging_clean_up(struct LoggingHandle *l);
674 * @param l the logging handle 686 * @param l the logging handle
675 */ 687 */
676void 688void
677GNUNET_ATS_TEST_logging_stop(struct LoggingHandle *l); 689GNUNET_ATS_TEST_logging_stop (struct LoggingHandle *l);
678 690
679 691
680/** 692/**
@@ -683,7 +695,7 @@ GNUNET_ATS_TEST_logging_stop(struct LoggingHandle *l);
683 * @param l logging handle to use 695 * @param l logging handle to use
684 */ 696 */
685void 697void
686GNUNET_ATS_TEST_logging_now(struct LoggingHandle *l); 698GNUNET_ATS_TEST_logging_now (struct LoggingHandle *l);
687 699
688 700
689/** 701/**
@@ -694,20 +706,20 @@ GNUNET_ATS_TEST_logging_now(struct LoggingHandle *l);
694 * @param plots create gnuplots: #GNUNET_YES or #GNUNET_NO 706 * @param plots create gnuplots: #GNUNET_YES or #GNUNET_NO
695 */ 707 */
696void 708void
697GNUNET_ATS_TEST_logging_write_to_file(struct LoggingHandle *l, 709GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *l,
698 const char *test_name, 710 const char *test_name,
699 int plots); 711 int plots);
700 712
701 713
702/** 714/**
703 * Topology related functions 715 * Topology related functions
704 */ 716 */
705struct BenchmarkPeer * 717struct BenchmarkPeer *
706GNUNET_ATS_TEST_get_peer(int src); 718GNUNET_ATS_TEST_get_peer (int src);
707 719
708 720
709struct BenchmarkPartner * 721struct BenchmarkPartner *
710GNUNET_ATS_TEST_get_partner(int src, int dest); 722GNUNET_ATS_TEST_get_partner (int src, int dest);
711 723
712 724
713/** 725/**
@@ -724,7 +736,7 @@ GNUNET_ATS_TEST_get_partner(int src, int dest);
724 * @param log_request_cb callback to call when logging is required 736 * @param log_request_cb callback to call when logging is required
725 */ 737 */
726void 738void
727GNUNET_ATS_TEST_create_topology( 739GNUNET_ATS_TEST_create_topology (
728 char *name, 740 char *name,
729 char *cfg_file, 741 char *cfg_file,
730 unsigned int num_slaves, 742 unsigned int num_slaves,
@@ -739,7 +751,7 @@ GNUNET_ATS_TEST_create_topology(
739 * Shutdown topology 751 * Shutdown topology
740 */ 752 */
741void 753void
742GNUNET_ATS_TEST_shutdown_topology(void); 754GNUNET_ATS_TEST_shutdown_topology (void);
743 755
744 756
745/* end of file ats-testing.h */ 757/* end of file ats-testing.h */