diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-07-26 21:12:56 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-07-26 21:12:56 +0000 |
commit | 8c2dc7d19810d58f23c43bf900e2fb3eebe06fed (patch) | |
tree | 9173a966e2f51a34d9259a0126484e05d44dcaac /src/core/test_core_api_reliability.c | |
parent | a89ea716333ad5ad43757a946efc01cb5e95a0c0 (diff) | |
download | gnunet-8c2dc7d19810d58f23c43bf900e2fb3eebe06fed.tar.gz gnunet-8c2dc7d19810d58f23c43bf900e2fb3eebe06fed.zip |
-converting CORE service to new transport MQ API
Diffstat (limited to 'src/core/test_core_api_reliability.c')
-rw-r--r-- | src/core/test_core_api_reliability.c | 82 |
1 files changed, 47 insertions, 35 deletions
diff --git a/src/core/test_core_api_reliability.c b/src/core/test_core_api_reliability.c index 9924bef97..a4a6d182c 100644 --- a/src/core/test_core_api_reliability.c +++ b/src/core/test_core_api_reliability.c | |||
@@ -74,6 +74,8 @@ static struct PeerContext p1; | |||
74 | 74 | ||
75 | static struct PeerContext p2; | 75 | static struct PeerContext p2; |
76 | 76 | ||
77 | static struct GNUNET_CORE_TransmitHandle *nth; | ||
78 | |||
77 | static int ok; | 79 | static int ok; |
78 | 80 | ||
79 | static int32_t tr_n; | 81 | static int32_t tr_n; |
@@ -132,24 +134,6 @@ terminate_peer (struct PeerContext *p) | |||
132 | 134 | ||
133 | 135 | ||
134 | static void | 136 | static void |
135 | terminate_task (void *cls) | ||
136 | { | ||
137 | unsigned long long delta; | ||
138 | |||
139 | delta = GNUNET_TIME_absolute_get_duration (start_time).rel_value_us; | ||
140 | FPRINTF (stderr, | ||
141 | "\nThroughput was %llu kb/s\n", | ||
142 | total_bytes * 1000000LL / 1024 / delta); | ||
143 | GAUGER ("CORE", | ||
144 | "Core throughput/s", | ||
145 | total_bytes * 1000000LL / 1024 / delta, | ||
146 | "kb/s"); | ||
147 | GNUNET_SCHEDULER_shutdown (); | ||
148 | ok = 0; | ||
149 | } | ||
150 | |||
151 | |||
152 | static void | ||
153 | terminate_task_error (void *cls) | 137 | terminate_task_error (void *cls) |
154 | { | 138 | { |
155 | err_task = NULL; | 139 | err_task = NULL; |
@@ -162,13 +146,29 @@ terminate_task_error (void *cls) | |||
162 | static void | 146 | static void |
163 | do_shutdown (void *cls) | 147 | do_shutdown (void *cls) |
164 | { | 148 | { |
149 | unsigned long long delta; | ||
150 | |||
151 | delta = GNUNET_TIME_absolute_get_duration (start_time).rel_value_us; | ||
152 | FPRINTF (stderr, | ||
153 | "\nThroughput was %llu kb/s\n", | ||
154 | total_bytes * 1000000LL / 1024 / delta); | ||
155 | GAUGER ("CORE", | ||
156 | "Core throughput/s", | ||
157 | total_bytes * 1000000LL / 1024 / delta, | ||
158 | "kb/s"); | ||
165 | if (NULL != err_task) | 159 | if (NULL != err_task) |
166 | { | 160 | { |
167 | GNUNET_SCHEDULER_cancel (err_task); | 161 | GNUNET_SCHEDULER_cancel (err_task); |
168 | err_task = NULL; | 162 | err_task = NULL; |
169 | } | 163 | } |
164 | if (NULL != nth) | ||
165 | { | ||
166 | GNUNET_CORE_notify_transmit_ready_cancel (nth); | ||
167 | nth = NULL; | ||
168 | } | ||
170 | terminate_peer (&p1); | 169 | terminate_peer (&p1); |
171 | terminate_peer (&p2); | 170 | terminate_peer (&p2); |
171 | |||
172 | } | 172 | } |
173 | 173 | ||
174 | 174 | ||
@@ -182,16 +182,19 @@ transmit_ready (void *cls, | |||
182 | unsigned int s; | 182 | unsigned int s; |
183 | unsigned int ret; | 183 | unsigned int ret; |
184 | 184 | ||
185 | nth = NULL; | ||
185 | GNUNET_assert (size <= GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE); | 186 | GNUNET_assert (size <= GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE); |
186 | if (NULL == buf) | 187 | if (NULL == buf) |
187 | { | 188 | { |
188 | if (NULL != p1.ch) | 189 | if (NULL != p1.ch) |
189 | GNUNET_break (NULL != | 190 | GNUNET_break (NULL != |
190 | GNUNET_CORE_notify_transmit_ready (p1.ch, GNUNET_NO, | 191 | (nth = GNUNET_CORE_notify_transmit_ready (p1.ch, GNUNET_NO, |
191 | GNUNET_CORE_PRIO_BEST_EFFORT, | 192 | GNUNET_CORE_PRIO_BEST_EFFORT, |
192 | FAST_TIMEOUT, &p2.id, | 193 | FAST_TIMEOUT, |
193 | get_size (tr_n), | 194 | &p2.id, |
194 | &transmit_ready, &p1)); | 195 | get_size (tr_n), |
196 | &transmit_ready, | ||
197 | &p1))); | ||
195 | return 0; | 198 | return 0; |
196 | } | 199 | } |
197 | GNUNET_assert (tr_n < TOTAL_MSGS); | 200 | GNUNET_assert (tr_n < TOTAL_MSGS); |
@@ -223,7 +226,8 @@ transmit_ready (void *cls, | |||
223 | GNUNET_SCHEDULER_cancel (err_task); | 226 | GNUNET_SCHEDULER_cancel (err_task); |
224 | err_task = | 227 | err_task = |
225 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, | 228 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, |
226 | &terminate_task_error, NULL); | 229 | &terminate_task_error, |
230 | NULL); | ||
227 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 231 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
228 | "Returning total message block of size %u\n", | 232 | "Returning total message block of size %u\n", |
229 | ret); | 233 | ret); |
@@ -238,9 +242,11 @@ connect_notify (void *cls, | |||
238 | { | 242 | { |
239 | struct PeerContext *pc = cls; | 243 | struct PeerContext *pc = cls; |
240 | 244 | ||
241 | if (0 == memcmp (&pc->id, peer, sizeof (struct GNUNET_PeerIdentity))) | 245 | if (0 == memcmp (&pc->id, |
246 | peer, | ||
247 | sizeof (struct GNUNET_PeerIdentity))) | ||
242 | return; | 248 | return; |
243 | GNUNET_assert (pc->connect_status == 0); | 249 | GNUNET_assert (0 == pc->connect_status); |
244 | pc->connect_status = 1; | 250 | pc->connect_status = 1; |
245 | if (pc == &p1) | 251 | if (pc == &p1) |
246 | { | 252 | { |
@@ -252,14 +258,19 @@ connect_notify (void *cls, | |||
252 | GNUNET_i2s (&p2.id)); | 258 | GNUNET_i2s (&p2.id)); |
253 | GNUNET_SCHEDULER_cancel (err_task); | 259 | GNUNET_SCHEDULER_cancel (err_task); |
254 | err_task = | 260 | err_task = |
255 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL); | 261 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, |
262 | &terminate_task_error, | ||
263 | NULL); | ||
256 | start_time = GNUNET_TIME_absolute_get (); | 264 | start_time = GNUNET_TIME_absolute_get (); |
257 | GNUNET_break (NULL != | 265 | GNUNET_break (NULL != |
258 | GNUNET_CORE_notify_transmit_ready (p1.ch, GNUNET_NO, | 266 | (nth = GNUNET_CORE_notify_transmit_ready (p1.ch, |
259 | GNUNET_CORE_PRIO_BEST_EFFORT, | 267 | GNUNET_NO, |
260 | TIMEOUT, &p2.id, | 268 | GNUNET_CORE_PRIO_BEST_EFFORT, |
261 | get_size (0), | 269 | TIMEOUT, |
262 | &transmit_ready, &p1)); | 270 | &p2.id, |
271 | get_size (0), | ||
272 | &transmit_ready, | ||
273 | &p1))); | ||
263 | } | 274 | } |
264 | } | 275 | } |
265 | 276 | ||
@@ -342,7 +353,8 @@ process_mtype (void *cls, | |||
342 | ntohs (message->size), | 353 | ntohs (message->size), |
343 | ntohl (hdr->num)); | 354 | ntohl (hdr->num)); |
344 | GNUNET_SCHEDULER_cancel (err_task); | 355 | GNUNET_SCHEDULER_cancel (err_task); |
345 | err_task = GNUNET_SCHEDULER_add_now (&terminate_task_error, NULL); | 356 | err_task = GNUNET_SCHEDULER_add_now (&terminate_task_error, |
357 | NULL); | ||
346 | return GNUNET_SYSERR; | 358 | return GNUNET_SYSERR; |
347 | } | 359 | } |
348 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 360 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
@@ -354,8 +366,8 @@ process_mtype (void *cls, | |||
354 | FPRINTF (stderr, "%s", "."); | 366 | FPRINTF (stderr, "%s", "."); |
355 | if (n == TOTAL_MSGS) | 367 | if (n == TOTAL_MSGS) |
356 | { | 368 | { |
357 | GNUNET_SCHEDULER_cancel (err_task); | 369 | ok = 0; |
358 | GNUNET_SCHEDULER_add_now (&terminate_task, NULL); | 370 | GNUNET_SCHEDULER_shutdown (); |
359 | } | 371 | } |
360 | else | 372 | else |
361 | { | 373 | { |