aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats-solver_proportional.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-06-11 08:20:33 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-06-11 08:20:33 +0000
commitb795dc777c7577cc162ae462f36710ad8dbb05ab (patch)
treecbd730f4ea7c189170520d4a9ddf9f43650bb2c8 /src/ats/gnunet-service-ats-solver_proportional.c
parent8c980d8ca66c5606a42790e33d8d1eb86b7c48a3 (diff)
downloadgnunet-b795dc777c7577cc162ae462f36710ad8dbb05ab.tar.gz
gnunet-b795dc777c7577cc162ae462f36710ad8dbb05ab.zip
docu
Diffstat (limited to 'src/ats/gnunet-service-ats-solver_proportional.c')
-rw-r--r--src/ats/gnunet-service-ats-solver_proportional.c76
1 files changed, 75 insertions, 1 deletions
diff --git a/src/ats/gnunet-service-ats-solver_proportional.c b/src/ats/gnunet-service-ats-solver_proportional.c
index 119c97bf3..261e5fb68 100644
--- a/src/ats/gnunet-service-ats-solver_proportional.c
+++ b/src/ats/gnunet-service-ats-solver_proportional.c
@@ -310,38 +310,112 @@ struct Network
310}; 310};
311 311
312 312
313/**
314 * Wrapper for addresses to store them in network's linked list
315 */
313struct AddressWrapper 316struct AddressWrapper
314{ 317{
318 /**
319 * Next in DLL
320 */
315 struct AddressWrapper *next; 321 struct AddressWrapper *next;
322
323 /**
324 * Previous in DLL
325 */
316 struct AddressWrapper *prev; 326 struct AddressWrapper *prev;
317 327
328 /**
329 * The address
330 */
318 struct ATS_Address *addr; 331 struct ATS_Address *addr;
319}; 332};
320 333
321 334
335/**
336 * Preference client
337 */
322struct PreferenceClient 338struct PreferenceClient
323{ 339{
340 /**
341 * Next in DLL
342 */
324 struct PreferenceClient *prev; 343 struct PreferenceClient *prev;
344
345 /**
346 * Next in DLL
347 */
348
325 struct PreferenceClient *next; 349 struct PreferenceClient *next;
350
351 /**
352 * Client handle
353 */
326 void *client; 354 void *client;
327 355
356 /**
357 * Total preference for this peer
358 */
328 double f_total[GNUNET_ATS_PreferenceCount]; 359 double f_total[GNUNET_ATS_PreferenceCount];
329 360
361 /**
362 * List of peer preferences for this client
363 */
364
365 /**
366 * Head of peer list
367 */
330 struct PreferencePeer *p_head; 368 struct PreferencePeer *p_head;
369
370 /**
371 * Tail of peer list
372 */
331 struct PreferencePeer *p_tail; 373 struct PreferencePeer *p_tail;
332}; 374};
333 375
334 376/**
377 * Preference peer
378 */
335struct PreferencePeer 379struct PreferencePeer
336{ 380{
381 /**
382 * Next in DLL
383 */
337 struct PreferencePeer *next; 384 struct PreferencePeer *next;
385
386 /**
387 * Previous in DLL
388 */
338 struct PreferencePeer *prev; 389 struct PreferencePeer *prev;
390
391 /**
392 * Client
393 */
339 struct PreferenceClient *client; 394 struct PreferenceClient *client;
395
396 /**
397 * Solver handle
398 */
340 struct GAS_PROPORTIONAL_Handle *s; 399 struct GAS_PROPORTIONAL_Handle *s;
400
401 /**
402 * Peer id
403 */
341 struct GNUNET_PeerIdentity id; 404 struct GNUNET_PeerIdentity id;
342 405
406 /**
407 * Preference Values
408 */
343 double f[GNUNET_ATS_PreferenceCount]; 409 double f[GNUNET_ATS_PreferenceCount];
410
411 /**
412 * Relative Preference Values
413 */
344 double f_rel[GNUNET_ATS_PreferenceCount]; 414 double f_rel[GNUNET_ATS_PreferenceCount];
415
416 /**
417 * Relative Total Preference Value
418 */
345 double f_rel_total; 419 double f_rel_total;
346 420
347 GNUNET_SCHEDULER_TaskIdentifier aging_task; 421 GNUNET_SCHEDULER_TaskIdentifier aging_task;