diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-30 12:22:57 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-30 12:22:57 +0000 |
commit | 4ea563a1d1fbdf020af2432c0b0320e8422051f7 (patch) | |
tree | 84bfe84f2f6bfedd339c2e7c0f97cdb7870a2f51 /src/experimentation | |
parent | a8318fab8d0bd30cd98d2a42a0b429893e34b284 (diff) | |
download | gnunet-4ea563a1d1fbdf020af2432c0b0320e8422051f7.tar.gz gnunet-4ea563a1d1fbdf020af2432c0b0320e8422051f7.zip |
updated code
Diffstat (limited to 'src/experimentation')
4 files changed, 21 insertions, 13 deletions
diff --git a/src/experimentation/gnunet-daemon-experimentation.c b/src/experimentation/gnunet-daemon-experimentation.c index 085dd14b1..4ecc03d7d 100644 --- a/src/experimentation/gnunet-daemon-experimentation.c +++ b/src/experimentation/gnunet-daemon-experimentation.c | |||
@@ -86,15 +86,19 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
86 | } | 86 | } |
87 | 87 | ||
88 | GNUNET_EXPERIMENTATION_capabilities_start (); | 88 | GNUNET_EXPERIMENTATION_capabilities_start (); |
89 | |||
89 | GNUNET_EXPERIMENTATION_storage_start (); | 90 | GNUNET_EXPERIMENTATION_storage_start (); |
91 | |||
90 | if (GNUNET_SYSERR == GNUNET_EXPERIMENTATION_experiments_start ()) | 92 | if (GNUNET_SYSERR == GNUNET_EXPERIMENTATION_experiments_start ()) |
91 | { | 93 | { |
92 | GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); | 94 | GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); |
93 | return; | 95 | return; |
94 | } | 96 | } |
97 | |||
95 | GNUNET_EXPERIMENTATION_nodes_start (); | 98 | GNUNET_EXPERIMENTATION_nodes_start (); |
99 | /* | ||
96 | GNUNET_EXPERIMENTATION_scheduler_start (); | 100 | GNUNET_EXPERIMENTATION_scheduler_start (); |
97 | 101 | */ | |
98 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, | 102 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, |
99 | NULL); | 103 | NULL); |
100 | } | 104 | } |
@@ -116,7 +120,7 @@ main (int argc, char *const *argv) | |||
116 | 120 | ||
117 | return (GNUNET_OK == | 121 | return (GNUNET_OK == |
118 | GNUNET_PROGRAM_run (argc, argv, "experimentation", | 122 | GNUNET_PROGRAM_run (argc, argv, "experimentation", |
119 | _("GNUnet hostlist server and client"), options, | 123 | _("GNUnet experimentation daemon"), options, |
120 | &run, NULL)) ? 0 : 1; | 124 | &run, NULL)) ? 0 : 1; |
121 | } | 125 | } |
122 | 126 | ||
diff --git a/src/experimentation/gnunet-daemon-experimentation_experiments.c b/src/experimentation/gnunet-daemon-experimentation_experiments.c index 09fd8d1ec..bf8bc7df5 100644 --- a/src/experimentation/gnunet-daemon-experimentation_experiments.c +++ b/src/experimentation/gnunet-daemon-experimentation_experiments.c | |||
@@ -56,6 +56,11 @@ static struct GNUNET_CONTAINER_MultiHashMap *experiments; | |||
56 | 56 | ||
57 | uint32_t GSE_my_issuer_count; | 57 | uint32_t GSE_my_issuer_count; |
58 | 58 | ||
59 | /** | ||
60 | * Valid experiment issuer for this daemon | ||
61 | * | ||
62 | * Array Experimentation_Issuer with GSE_my_issuer_count elements | ||
63 | */ | ||
59 | struct Experimentation_Issuer *GSE_my_issuer; | 64 | struct Experimentation_Issuer *GSE_my_issuer; |
60 | 65 | ||
61 | 66 | ||
diff --git a/src/experimentation/gnunet-daemon-experimentation_nodes.c b/src/experimentation/gnunet-daemon-experimentation_nodes.c index ac1d00ce0..a77e841b8 100644 --- a/src/experimentation/gnunet-daemon-experimentation_nodes.c +++ b/src/experimentation/gnunet-daemon-experimentation_nodes.c | |||
@@ -199,7 +199,7 @@ remove_request (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
199 | * @param buf the buffer to copy to | 199 | * @param buf the buffer to copy to |
200 | * @return bytes passed | 200 | * @return bytes passed |
201 | */ | 201 | */ |
202 | size_t send_request_cb (void *cls, size_t bufsize, void *buf) | 202 | size_t send_experimentation_request_cb (void *cls, size_t bufsize, void *buf) |
203 | { | 203 | { |
204 | struct Node *n = cls; | 204 | struct Node *n = cls; |
205 | struct Experimentation_Request msg; | 205 | struct Experimentation_Request msg; |
@@ -234,11 +234,11 @@ size_t send_request_cb (void *cls, size_t bufsize, void *buf) | |||
234 | 234 | ||
235 | 235 | ||
236 | /** | 236 | /** |
237 | * Send request | 237 | * Send request to peer to start add him to to the set of experimentation nodes |
238 | * | 238 | * |
239 | * @param peer the peer to send to | 239 | * @param peer the peer to send to |
240 | */ | 240 | */ |
241 | static void send_request (const struct GNUNET_PeerIdentity *peer) | 241 | static void send_experimentation_request (const struct GNUNET_PeerIdentity *peer) |
242 | { | 242 | { |
243 | struct Node *n; | 243 | struct Node *n; |
244 | size_t size; | 244 | size_t size; |
@@ -254,7 +254,7 @@ static void send_request (const struct GNUNET_PeerIdentity *peer) | |||
254 | n->capabilities = NONE; | 254 | n->capabilities = NONE; |
255 | n->cth = GNUNET_CORE_notify_transmit_ready(ch, GNUNET_NO, 0, | 255 | n->cth = GNUNET_CORE_notify_transmit_ready(ch, GNUNET_NO, 0, |
256 | GNUNET_TIME_relative_get_forever_(), | 256 | GNUNET_TIME_relative_get_forever_(), |
257 | peer, size, send_request_cb, n); | 257 | peer, size, send_experimentation_request_cb, n); |
258 | 258 | ||
259 | GNUNET_assert (GNUNET_OK == GNUNET_CONTAINER_multihashmap_put (nodes_requested, | 259 | GNUNET_assert (GNUNET_OK == GNUNET_CONTAINER_multihashmap_put (nodes_requested, |
260 | &peer->hashPubKey, n, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST)); | 260 | &peer->hashPubKey, n, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST)); |
@@ -315,9 +315,8 @@ get_experiments_cb (struct Node *n, struct Experiment *e) | |||
315 | e->name, | 315 | e->name, |
316 | GNUNET_i2s (&n->id)); | 316 | GNUNET_i2s (&n->id)); |
317 | 317 | ||
318 | /* Request experiment */ | 318 | /* Tell the scheduler to add a node with an experiment */ |
319 | GNUNET_EXPERIMENTATION_scheduler_add (n, e); | 319 | GNUNET_EXPERIMENTATION_scheduler_add (n, e); |
320 | |||
321 | counter ++; | 320 | counter ++; |
322 | } | 321 | } |
323 | 322 | ||
@@ -571,7 +570,7 @@ void core_connect_handler (void *cls, | |||
571 | if (GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains (nodes_inactive, &peer->hashPubKey)) | 570 | if (GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains (nodes_inactive, &peer->hashPubKey)) |
572 | return; /* This peer is known as inactive */ | 571 | return; /* This peer is known as inactive */ |
573 | 572 | ||
574 | send_request (peer); | 573 | send_experimentation_request (peer); |
575 | 574 | ||
576 | } | 575 | } |
577 | 576 | ||
diff --git a/src/experimentation/gnunet-daemon-experimentation_scheduler.c b/src/experimentation/gnunet-daemon-experimentation_scheduler.c index 502c65229..795c993dd 100644 --- a/src/experimentation/gnunet-daemon-experimentation_scheduler.c +++ b/src/experimentation/gnunet-daemon-experimentation_scheduler.c | |||
@@ -74,7 +74,7 @@ request_timeout (void *cls,const struct GNUNET_SCHEDULER_TaskContext* tc) | |||
74 | GNUNET_STATISTICS_set (GSE_stats, "# experiments requested", experiments_requested, GNUNET_NO); | 74 | GNUNET_STATISTICS_set (GSE_stats, "# experiments requested", experiments_requested, GNUNET_NO); |
75 | } | 75 | } |
76 | 76 | ||
77 | static void run (void *cls,const struct GNUNET_SCHEDULER_TaskContext* tc) | 77 | static void start_experiment (void *cls,const struct GNUNET_SCHEDULER_TaskContext* tc) |
78 | { | 78 | { |
79 | struct ScheduledExperiment *se = cls; | 79 | struct ScheduledExperiment *se = cls; |
80 | struct GNUNET_TIME_Relative end; | 80 | struct GNUNET_TIME_Relative end; |
@@ -114,7 +114,7 @@ static void run (void *cls,const struct GNUNET_SCHEDULER_TaskContext* tc) | |||
114 | se->state = STOPPED; | 114 | se->state = STOPPED; |
115 | return; /* End of experiment is reached */ | 115 | return; /* End of experiment is reached */ |
116 | } | 116 | } |
117 | se->task = GNUNET_SCHEDULER_add_delayed (se->e->frequency, &run, se); | 117 | se->task = GNUNET_SCHEDULER_add_delayed (se->e->frequency, &start_experiment, se); |
118 | } | 118 | } |
119 | 119 | ||
120 | else if (STOPPED == se->state) | 120 | else if (STOPPED == se->state) |
@@ -145,9 +145,9 @@ GNUNET_EXPERIMENTATION_scheduler_add (struct Node *n, struct Experiment *e) | |||
145 | se->e = e; | 145 | se->e = e; |
146 | se->n = n; | 146 | se->n = n; |
147 | if (0 == start.rel_value) | 147 | if (0 == start.rel_value) |
148 | se->task = GNUNET_SCHEDULER_add_now (&run, se); | 148 | se->task = GNUNET_SCHEDULER_add_now (&start_experiment, se); |
149 | else | 149 | else |
150 | se->task = GNUNET_SCHEDULER_add_delayed (start, &run, se); | 150 | se->task = GNUNET_SCHEDULER_add_delayed (start, &start_experiment, se); |
151 | 151 | ||
152 | GNUNET_CONTAINER_DLL_insert (list_head, list_tail, se); | 152 | GNUNET_CONTAINER_DLL_insert (list_head, list_tail, se); |
153 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Added experiment `%s' for node to be scheduled\n", | 153 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Added experiment `%s' for node to be scheduled\n", |