diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-09-26 13:35:28 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-09-26 13:35:28 +0000 |
commit | db7a7ef28e42cb253d5be3bde6ee580215f89f0a (patch) | |
tree | 6b8e959c34ea6f6b3131058e1dc1d27f8df995e7 /src/transport/plugin_transport_http_client.c | |
parent | 535d51c21e7ed8b8e1f9bec144c54f177de6b2f5 (diff) | |
download | gnunet-db7a7ef28e42cb253d5be3bde6ee580215f89f0a.tar.gz gnunet-db7a7ef28e42cb253d5be3bde6ee580215f89f0a.zip |
removing incoherent address formats
cleaning up logging
Diffstat (limited to 'src/transport/plugin_transport_http_client.c')
-rw-r--r-- | src/transport/plugin_transport_http_client.c | 56 |
1 files changed, 44 insertions, 12 deletions
diff --git a/src/transport/plugin_transport_http_client.c b/src/transport/plugin_transport_http_client.c index 715125dd0..c5fea94a1 100644 --- a/src/transport/plugin_transport_http_client.c +++ b/src/transport/plugin_transport_http_client.c | |||
@@ -51,7 +51,11 @@ client_log (CURL * curl, curl_infotype type, char *data, size_t size, void *cls) | |||
51 | text[size] = '\n'; | 51 | text[size] = '\n'; |
52 | text[size + 1] = '\0'; | 52 | text[size + 1] = '\0'; |
53 | } | 53 | } |
54 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Client: %X - %s", cls, text); | 54 | #if BUILD_HTTPS |
55 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-https", "Client: %X - %s", cls, text); | ||
56 | #else | ||
57 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-http", "Client: %X - %s", cls, text); | ||
58 | #endif | ||
55 | } | 59 | } |
56 | return 0; | 60 | return 0; |
57 | } | 61 | } |
@@ -61,6 +65,8 @@ int | |||
61 | client_send (struct Session *s, struct HTTP_Message *msg) | 65 | client_send (struct Session *s, struct HTTP_Message *msg) |
62 | { | 66 | { |
63 | GNUNET_CONTAINER_DLL_insert (s->msg_head, s->msg_tail, msg); | 67 | GNUNET_CONTAINER_DLL_insert (s->msg_head, s->msg_tail, msg); |
68 | if (s != NULL) | ||
69 | curl_easy_pause(s->client_put, CURLPAUSE_CONT); | ||
64 | return GNUNET_OK; | 70 | return GNUNET_OK; |
65 | } | 71 | } |
66 | 72 | ||
@@ -183,7 +189,7 @@ client_run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
183 | { | 189 | { |
184 | #if DEBUG_HTTP | 190 | #if DEBUG_HTTP |
185 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 191 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
186 | "Connection to '%s' %s ended\n", GNUNET_i2s(&s->target), GNUNET_a2s (s->addr, s->addrlen)); | 192 | "Client: %X connection to '%s' %s ended\n", s, GNUNET_i2s(&s->target), GNUNET_a2s (s->addr, s->addrlen)); |
187 | #endif | 193 | #endif |
188 | client_disconnect(s); | 194 | client_disconnect(s); |
189 | //GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,"Notifying about ended session to peer `%s' `%s'\n", GNUNET_i2s (&s->target), http_plugin_address_to_string (plugin, s->addr, s->addrlen)); | 195 | //GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,"Notifying about ended session to peer `%s' `%s'\n", GNUNET_i2s (&s->target), http_plugin_address_to_string (plugin, s->addr, s->addrlen)); |
@@ -210,7 +216,8 @@ client_disconnect (struct Session *s) | |||
210 | 216 | ||
211 | #if DEBUG_HTTP | 217 | #if DEBUG_HTTP |
212 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 218 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
213 | "Client: Deleting outbound PUT session to peer `%s'\n", | 219 | "Client: %X Deleting outbound PUT session to peer `%s'\n", |
220 | s, | ||
214 | GNUNET_i2s (&s->target)); | 221 | GNUNET_i2s (&s->target)); |
215 | #endif | 222 | #endif |
216 | 223 | ||
@@ -229,9 +236,15 @@ client_disconnect (struct Session *s) | |||
229 | 236 | ||
230 | #if DEBUG_HTTP | 237 | #if DEBUG_HTTP |
231 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 238 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
232 | "Client: Deleting outbound GET session to peer `%s'\n", | 239 | "Client: %X Deleting outbound GET session to peer `%s'\n", |
240 | s, | ||
233 | GNUNET_i2s (&s->target)); | 241 | GNUNET_i2s (&s->target)); |
234 | #endif | 242 | #endif |
243 | if (s->recv_wakeup_task != GNUNET_SCHEDULER_NO_TASK) | ||
244 | { | ||
245 | GNUNET_SCHEDULER_cancel (s->recv_wakeup_task); | ||
246 | s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK; | ||
247 | } | ||
235 | 248 | ||
236 | if (s->client_get != NULL) | 249 | if (s->client_get != NULL) |
237 | { | 250 | { |
@@ -290,6 +303,18 @@ client_receive_mst_cb (void *cls, void *client, | |||
290 | #endif | 303 | #endif |
291 | } | 304 | } |
292 | } | 305 | } |
306 | static void | ||
307 | client_wake_up (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
308 | { | ||
309 | struct Session *s = cls; | ||
310 | |||
311 | s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK; | ||
312 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
313 | return; | ||
314 | |||
315 | if (s->client_get != NULL) | ||
316 | curl_easy_pause(s->client_get, CURLPAUSE_CONT); | ||
317 | } | ||
293 | 318 | ||
294 | /** | 319 | /** |
295 | * Callback method used with libcurl | 320 | * Callback method used with libcurl |
@@ -305,6 +330,7 @@ client_receive (void *stream, size_t size, size_t nmemb, void *cls) | |||
305 | { | 330 | { |
306 | struct Session *s = cls; | 331 | struct Session *s = cls; |
307 | struct Plugin *plugin = s->plugin; | 332 | struct Plugin *plugin = s->plugin; |
333 | struct GNUNET_TIME_Absolute now; | ||
308 | 334 | ||
309 | #if VERBOSE_CLIENT | 335 | #if VERBOSE_CLIENT |
310 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: Received %Zu bytes from peer `%s'\n", | 336 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: Received %Zu bytes from peer `%s'\n", |
@@ -312,14 +338,21 @@ client_receive (void *stream, size_t size, size_t nmemb, void *cls) | |||
312 | GNUNET_i2s (&s->target)); | 338 | GNUNET_i2s (&s->target)); |
313 | #endif | 339 | #endif |
314 | 340 | ||
315 | if (GNUNET_TIME_absolute_get().abs_value < s->delay.abs_value) | 341 | now = GNUNET_TIME_absolute_get(); |
342 | if (now.abs_value < s->delay.abs_value) | ||
316 | { | 343 | { |
317 | #if DEBUG_CLIENT | 344 | #if DEBUG_CLIENT |
318 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 345 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
319 | "no inbound bandwidth available! Next read was delayed for %llu ms\n", | 346 | "No inbound bandwidth available! Next read was delayed for %llu ms\n", |
320 | s, GNUNET_TIME_absolute_get_difference(s->delay, GNUNET_TIME_absolute_get()).rel_value); | 347 | s, GNUNET_TIME_absolute_get_difference(s->delay, GNUNET_TIME_absolute_get()).rel_value); |
321 | #endif | 348 | #endif |
322 | return 0; | 349 | if (s->recv_wakeup_task != GNUNET_SCHEDULER_NO_TASK) |
350 | { | ||
351 | GNUNET_SCHEDULER_cancel (s->recv_wakeup_task); | ||
352 | s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK; | ||
353 | } | ||
354 | s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed( GNUNET_TIME_absolute_get_difference(s->delay, now), &client_wake_up, s); | ||
355 | return CURLPAUSE_ALL; | ||
323 | } | 356 | } |
324 | 357 | ||
325 | 358 | ||
@@ -345,7 +378,7 @@ static size_t | |||
345 | client_send_cb (void *stream, size_t size, size_t nmemb, void *cls) | 378 | client_send_cb (void *stream, size_t size, size_t nmemb, void *cls) |
346 | { | 379 | { |
347 | struct Session *s = cls; | 380 | struct Session *s = cls; |
348 | //struct Plugin *plugin = s->plugin; | 381 | struct Plugin *plugin = s->plugin; |
349 | size_t bytes_sent = 0; | 382 | size_t bytes_sent = 0; |
350 | size_t len; | 383 | size_t len; |
351 | 384 | ||
@@ -394,9 +427,9 @@ client_send_cb (void *stream, size_t size, size_t nmemb, void *cls) | |||
394 | if (msg->pos == msg->size) | 427 | if (msg->pos == msg->size) |
395 | { | 428 | { |
396 | #if VERBOSE_CLIENT | 429 | #if VERBOSE_CLIENT |
397 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 430 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
398 | "Message with %u bytes sent, removing message from queue\n", | 431 | "Client: %X Message with %u bytes sent, removing message from queue\n", |
399 | s, msg->pos); | 432 | s, msg->size, msg->pos); |
400 | #endif | 433 | #endif |
401 | /* Calling transmit continuation */ | 434 | /* Calling transmit continuation */ |
402 | if (NULL != msg->transmit_cont) | 435 | if (NULL != msg->transmit_cont) |
@@ -426,7 +459,6 @@ client_connect (struct Session *s) | |||
426 | plugin->last_tag++; | 459 | plugin->last_tag++; |
427 | /* create url */ | 460 | /* create url */ |
428 | GNUNET_asprintf (&url, "%s%s;%u", http_plugin_address_to_string (plugin, s->addr, s->addrlen), GNUNET_h2s_full (&plugin->env->my_identity->hashPubKey),plugin->last_tag); | 461 | GNUNET_asprintf (&url, "%s%s;%u", http_plugin_address_to_string (plugin, s->addr, s->addrlen), GNUNET_h2s_full (&plugin->env->my_identity->hashPubKey),plugin->last_tag); |
429 | //GNUNET_asprintf (&url, "http://www.heise.de", http_plugin_address_to_string (plugin, s->addr, s->addrlen), GNUNET_h2s_full (&plugin->env->my_identity->hashPubKey),plugin->last_tag); | ||
430 | #if 0 | 462 | #if 0 |
431 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 463 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
432 | "URL `%s'\n", | 464 | "URL `%s'\n", |