aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-ats-solver-eval.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ats/gnunet-ats-solver-eval.h')
-rw-r--r--src/ats/gnunet-ats-solver-eval.h65
1 files changed, 42 insertions, 23 deletions
diff --git a/src/ats/gnunet-ats-solver-eval.h b/src/ats/gnunet-ats-solver-eval.h
index e3afa02b1..7d14bf761 100644
--- a/src/ats/gnunet-ats-solver-eval.h
+++ b/src/ats/gnunet-ats-solver-eval.h
@@ -34,7 +34,8 @@
34#include "gnunet-service-ats_normalization.h" 34#include "gnunet-service-ats_normalization.h"
35#include "test_ats_api_common.h" 35#include "test_ats_api_common.h"
36 36
37enum GeneratorType { 37enum GeneratorType
38{
38 GNUNET_ATS_TEST_TG_LINEAR, 39 GNUNET_ATS_TEST_TG_LINEAR,
39 GNUNET_ATS_TEST_TG_CONSTANT, 40 GNUNET_ATS_TEST_TG_CONSTANT,
40 GNUNET_ATS_TEST_TG_RANDOM, 41 GNUNET_ATS_TEST_TG_RANDOM,
@@ -42,7 +43,8 @@ enum GeneratorType {
42}; 43};
43 44
44 45
45enum OperationType { 46enum OperationType
47{
46 SOLVER_OP_ADD_ADDRESS, 48 SOLVER_OP_ADD_ADDRESS,
47 SOLVER_OP_DEL_ADDRESS, 49 SOLVER_OP_DEL_ADDRESS,
48 SOLVER_OP_START_SET_PROPERTY, 50 SOLVER_OP_START_SET_PROPERTY,
@@ -53,7 +55,8 @@ enum OperationType {
53 SOLVER_OP_STOP_REQUEST, 55 SOLVER_OP_STOP_REQUEST,
54}; 56};
55 57
56struct SolverHandle { 58struct SolverHandle
59{
57 /** 60 /**
58 * Solver plugin name 61 * Solver plugin name
59 */ 62 */
@@ -75,13 +78,15 @@ struct SolverHandle {
75 struct GNUNET_CONTAINER_MultiPeerMap *addresses; 78 struct GNUNET_CONTAINER_MultiPeerMap *addresses;
76}; 79};
77 80
78enum GNUNET_ATS_Solvers { 81enum GNUNET_ATS_Solvers
82{
79 GNUNET_ATS_SOLVER_PROPORTIONAL, 83 GNUNET_ATS_SOLVER_PROPORTIONAL,
80 GNUNET_ATS_SOLVER_MLP, 84 GNUNET_ATS_SOLVER_MLP,
81 GNUNET_ATS_SOLVER_RIL, 85 GNUNET_ATS_SOLVER_RIL,
82}; 86};
83 87
84struct LoggingFileHandle { 88struct LoggingFileHandle
89{
85 /* DLL list for logging time steps */ 90 /* DLL list for logging time steps */
86 struct LoggingFileHandle *next; 91 struct LoggingFileHandle *next;
87 struct LoggingFileHandle *prev; 92 struct LoggingFileHandle *prev;
@@ -95,7 +100,8 @@ struct LoggingFileHandle {
95 struct GNUNET_DISK_FileHandle *f_hd; 100 struct GNUNET_DISK_FileHandle *f_hd;
96}; 101};
97 102
98struct LoggingTimeStep { 103struct LoggingTimeStep
104{
99 struct LoggingTimeStep *prev; 105 struct LoggingTimeStep *prev;
100 struct LoggingTimeStep *next; 106 struct LoggingTimeStep *next;
101 107
@@ -106,7 +112,8 @@ struct LoggingTimeStep {
106 struct GNUNET_TIME_Relative delta; 112 struct GNUNET_TIME_Relative delta;
107}; 113};
108 114
109struct LoggingPeer { 115struct LoggingPeer
116{
110 struct LoggingPeer *prev; 117 struct LoggingPeer *prev;
111 struct LoggingPeer *next; 118 struct LoggingPeer *next;
112 119
@@ -120,7 +127,8 @@ struct LoggingPeer {
120 struct LoggingAddress *addr_tail; 127 struct LoggingAddress *addr_tail;
121}; 128};
122 129
123struct LoggingAddress { 130struct LoggingAddress
131{
124 struct LoggingAddress *next; 132 struct LoggingAddress *next;
125 struct LoggingAddress *prev; 133 struct LoggingAddress *prev;
126 134
@@ -135,7 +143,8 @@ struct LoggingAddress {
135}; 143};
136 144
137 145
138struct TestPeer { 146struct TestPeer
147{
139 struct TestPeer *prev; 148 struct TestPeer *prev;
140 struct TestPeer *next; 149 struct TestPeer *next;
141 150
@@ -155,7 +164,8 @@ struct TestPeer {
155}; 164};
156 165
157 166
158struct TestAddress { 167struct TestAddress
168{
159 struct TestAddress *next; 169 struct TestAddress *next;
160 struct TestAddress *prev; 170 struct TestAddress *prev;
161 171
@@ -175,12 +185,16 @@ typedef void (*GNUNET_ATS_TESTING_EpisodeDoneCallback) (
175 struct Episode *e); 185 struct Episode *e);
176 186
177typedef void (*GNUNET_ATS_TESTING_ExperimentDoneCallback) (struct Experiment *e, 187typedef void (*GNUNET_ATS_TESTING_ExperimentDoneCallback) (struct Experiment *e,
178 struct GNUNET_TIME_Relative duration, int success); 188 struct
189 GNUNET_TIME_Relative
190 duration, int
191 success);
179 192
180/** 193/**
181 * An operation in an experiment 194 * An operation in an experiment
182 */ 195 */
183struct GNUNET_ATS_TEST_Operation { 196struct GNUNET_ATS_TEST_Operation
197{
184 struct GNUNET_ATS_TEST_Operation *next; 198 struct GNUNET_ATS_TEST_Operation *next;
185 struct GNUNET_ATS_TEST_Operation *prev; 199 struct GNUNET_ATS_TEST_Operation *prev;
186 200
@@ -206,7 +220,8 @@ struct GNUNET_ATS_TEST_Operation {
206 // enum GNUNET_ATS_Property prop_type; 220 // enum GNUNET_ATS_Property prop_type;
207}; 221};
208 222
209struct Episode { 223struct Episode
224{
210 int id; 225 int id;
211 struct Episode *next; 226 struct Episode *next;
212 struct GNUNET_TIME_Relative duration; 227 struct GNUNET_TIME_Relative duration;
@@ -215,8 +230,9 @@ struct Episode {
215 struct GNUNET_ATS_TEST_Operation *tail; 230 struct GNUNET_ATS_TEST_Operation *tail;
216}; 231};
217 232
218struct LoggingHandle { 233struct LoggingHandle
219 struct GNUNET_SCHEDULER_Task * logging_task; 234{
235 struct GNUNET_SCHEDULER_Task *logging_task;
220 struct GNUNET_TIME_Relative log_freq; 236 struct GNUNET_TIME_Relative log_freq;
221 237
222 /* DLL list for logging time steps */ 238 /* DLL list for logging time steps */
@@ -224,7 +240,8 @@ struct LoggingHandle {
224 struct LoggingTimeStep *tail; 240 struct LoggingTimeStep *tail;
225}; 241};
226 242
227struct Experiment { 243struct Experiment
244{
228 char *name; 245 char *name;
229 char *log_prefix; 246 char *log_prefix;
230 char *cfg_file; 247 char *cfg_file;
@@ -240,15 +257,16 @@ struct Experiment {
240 257
241 struct GNUNET_CONFIGURATION_Handle *cfg; 258 struct GNUNET_CONFIGURATION_Handle *cfg;
242 259
243 struct GNUNET_SCHEDULER_Task * experiment_timeout_task; 260 struct GNUNET_SCHEDULER_Task *experiment_timeout_task;
244 struct GNUNET_SCHEDULER_Task * episode_timeout_task; 261 struct GNUNET_SCHEDULER_Task *episode_timeout_task;
245 struct Episode *cur; 262 struct Episode *cur;
246 263
247 GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb; 264 GNUNET_ATS_TESTING_EpisodeDoneCallback ep_done_cb;
248 GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb; 265 GNUNET_ATS_TESTING_ExperimentDoneCallback e_done_cb;
249}; 266};
250 267
251struct PreferenceGenerator { 268struct PreferenceGenerator
269{
252 struct PreferenceGenerator *prev; 270 struct PreferenceGenerator *prev;
253 struct PreferenceGenerator *next; 271 struct PreferenceGenerator *next;
254 272
@@ -265,8 +283,8 @@ struct PreferenceGenerator {
265 struct GNUNET_TIME_Relative frequency; 283 struct GNUNET_TIME_Relative frequency;
266 struct GNUNET_TIME_Relative feedback_frequency; 284 struct GNUNET_TIME_Relative feedback_frequency;
267 285
268 struct GNUNET_SCHEDULER_Task * set_task; 286 struct GNUNET_SCHEDULER_Task *set_task;
269 struct GNUNET_SCHEDULER_Task * feedback_task; 287 struct GNUNET_SCHEDULER_Task *feedback_task;
270 struct GNUNET_TIME_Absolute next_ping_transmission; 288 struct GNUNET_TIME_Absolute next_ping_transmission;
271 struct GNUNET_TIME_Absolute time_start; 289 struct GNUNET_TIME_Absolute time_start;
272 290
@@ -289,7 +307,8 @@ struct PreferenceGenerator {
289}; 307};
290 308
291 309
292struct PropertyGenerator { 310struct PropertyGenerator
311{
293 struct PropertyGenerator *prev; 312 struct PropertyGenerator *prev;
294 struct PropertyGenerator *next; 313 struct PropertyGenerator *next;
295 314
@@ -307,7 +326,7 @@ struct PropertyGenerator {
307 struct GNUNET_TIME_Relative duration_period; 326 struct GNUNET_TIME_Relative duration_period;
308 struct GNUNET_TIME_Relative frequency; 327 struct GNUNET_TIME_Relative frequency;
309 328
310 struct GNUNET_SCHEDULER_Task * set_task; 329 struct GNUNET_SCHEDULER_Task *set_task;
311 struct GNUNET_TIME_Absolute next_ping_transmission; 330 struct GNUNET_TIME_Absolute next_ping_transmission;
312 struct GNUNET_TIME_Absolute time_start; 331 struct GNUNET_TIME_Absolute time_start;
313}; 332};