aboutsummaryrefslogtreecommitdiff
path: root/src/core/test_core_api_reliability.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-07-26 21:12:56 +0000
committerChristian Grothoff <christian@grothoff.org>2016-07-26 21:12:56 +0000
commit8c2dc7d19810d58f23c43bf900e2fb3eebe06fed (patch)
tree9173a966e2f51a34d9259a0126484e05d44dcaac /src/core/test_core_api_reliability.c
parenta89ea716333ad5ad43757a946efc01cb5e95a0c0 (diff)
downloadgnunet-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.c82
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
75static struct PeerContext p2; 75static struct PeerContext p2;
76 76
77static struct GNUNET_CORE_TransmitHandle *nth;
78
77static int ok; 79static int ok;
78 80
79static int32_t tr_n; 81static int32_t tr_n;
@@ -132,24 +134,6 @@ terminate_peer (struct PeerContext *p)
132 134
133 135
134static void 136static void
135terminate_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
152static void
153terminate_task_error (void *cls) 137terminate_task_error (void *cls)
154{ 138{
155 err_task = NULL; 139 err_task = NULL;
@@ -162,13 +146,29 @@ terminate_task_error (void *cls)
162static void 146static void
163do_shutdown (void *cls) 147do_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 {