diff options
Diffstat (limited to 'src/transport/plugin_transport_http_client.c')
-rw-r--r-- | src/transport/plugin_transport_http_client.c | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/transport/plugin_transport_http_client.c b/src/transport/plugin_transport_http_client.c index cd68a0069..bc2051eef 100644 --- a/src/transport/plugin_transport_http_client.c +++ b/src/transport/plugin_transport_http_client.c | |||
@@ -146,7 +146,9 @@ client_send (struct Session *s, struct HTTP_Message *msg) | |||
146 | 146 | ||
147 | if ((s != NULL) && (s->client_put_paused == GNUNET_YES)) | 147 | if ((s != NULL) && (s->client_put_paused == GNUNET_YES)) |
148 | { | 148 | { |
149 | #if VERBOSE_CLIENT | ||
149 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, s->plugin->name, "Client: %X was suspended, unpausing\n", s->client_put); | 150 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, s->plugin->name, "Client: %X was suspended, unpausing\n", s->client_put); |
151 | #endif | ||
150 | s->client_put_paused = GNUNET_NO; | 152 | s->client_put_paused = GNUNET_NO; |
151 | curl_easy_pause(s->client_put, CURLPAUSE_CONT); | 153 | curl_easy_pause(s->client_put, CURLPAUSE_CONT); |
152 | } | 154 | } |
@@ -306,10 +308,13 @@ client_receive_mst_cb (void *cls, void *client, | |||
306 | struct GNUNET_TIME_Relative delay; | 308 | struct GNUNET_TIME_Relative delay; |
307 | 309 | ||
308 | delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen); | 310 | delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen); |
311 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "CLIENT: CLIENT DELAY %llu ms\n", | ||
312 | delay.rel_value); | ||
313 | |||
309 | 314 | ||
310 | s->delay = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay); | 315 | s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay); |
311 | 316 | ||
312 | if (GNUNET_TIME_absolute_get().abs_value < s->delay.abs_value) | 317 | if (GNUNET_TIME_absolute_get().abs_value < s->next_receive.abs_value) |
313 | { | 318 | { |
314 | #if VERBOSE_CLIENT | 319 | #if VERBOSE_CLIENT |
315 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: peer `%s' address `%s' next read delayed for %llu ms\n", | 320 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: peer `%s' address `%s' next read delayed for %llu ms\n", |
@@ -343,32 +348,32 @@ static size_t | |||
343 | client_receive (void *stream, size_t size, size_t nmemb, void *cls) | 348 | client_receive (void *stream, size_t size, size_t nmemb, void *cls) |
344 | { | 349 | { |
345 | struct Session *s = cls; | 350 | struct Session *s = cls; |
346 | struct Plugin *plugin = s->plugin; | ||
347 | struct GNUNET_TIME_Absolute now; | 351 | struct GNUNET_TIME_Absolute now; |
348 | size_t len = size * nmemb; | 352 | size_t len = size * nmemb; |
349 | 353 | ||
350 | 354 | ||
351 | #if VERBOSE_CLIENT | 355 | #if VERBOSE_CLIENT |
356 | struct Plugin *plugin = s->plugin; | ||
352 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: Received %Zu bytes from peer `%s'\n", | 357 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: Received %Zu bytes from peer `%s'\n", |
353 | len, | 358 | len, |
354 | GNUNET_i2s (&s->target)); | 359 | GNUNET_i2s (&s->target)); |
355 | #endif | 360 | #endif |
356 | 361 | ||
357 | now = GNUNET_TIME_absolute_get(); | 362 | now = GNUNET_TIME_absolute_get(); |
358 | if (now.abs_value < s->delay.abs_value) | 363 | if (now.abs_value < s->next_receive.abs_value) |
359 | { | 364 | { |
360 | #if 0 | ||
361 | #if DEBUG_CLIENT | 365 | #if DEBUG_CLIENT |
362 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 366 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
363 | "No inbound bandwidth available! Next read was delayed for %llu ms\n", | 367 | "No inbound bandwidth available! Next read was delayed for %llu ms\n", |
364 | s, GNUNET_TIME_absolute_get_difference(s->delay, GNUNET_TIME_absolute_get()).rel_value); | 368 | s, GNUNET_TIME_absolute_get_difference(s->next_receive, GNUNET_TIME_absolute_get()).rel_value); |
365 | #endif | 369 | #endif |
370 | #if 0 | ||
366 | if (s->recv_wakeup_task != GNUNET_SCHEDULER_NO_TASK) | 371 | if (s->recv_wakeup_task != GNUNET_SCHEDULER_NO_TASK) |
367 | { | 372 | { |
368 | GNUNET_SCHEDULER_cancel (s->recv_wakeup_task); | 373 | GNUNET_SCHEDULER_cancel (s->recv_wakeup_task); |
369 | s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK; | 374 | s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK; |
370 | } | 375 | } |
371 | s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed( GNUNET_TIME_absolute_get_difference(s->delay, now), &client_wake_up, s); | 376 | s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed( GNUNET_TIME_absolute_get_difference(s->next_receive, now), &client_wake_up, s); |
372 | return CURLPAUSE_ALL; | 377 | return CURLPAUSE_ALL; |
373 | #endif | 378 | #endif |
374 | } | 379 | } |
@@ -398,27 +403,19 @@ static size_t | |||
398 | client_send_cb (void *stream, size_t size, size_t nmemb, void *cls) | 403 | client_send_cb (void *stream, size_t size, size_t nmemb, void *cls) |
399 | { | 404 | { |
400 | struct Session *s = cls; | 405 | struct Session *s = cls; |
406 | #if VERBOSE_CLIENT | ||
401 | struct Plugin *plugin = s->plugin; | 407 | struct Plugin *plugin = s->plugin; |
408 | #endif | ||
402 | size_t bytes_sent = 0; | 409 | size_t bytes_sent = 0; |
403 | size_t len; | 410 | size_t len; |
404 | 411 | ||
405 | struct HTTP_Message *msg = s->msg_head; | 412 | struct HTTP_Message *msg = s->msg_head; |
406 | /* | 413 | |
407 | if (s->put_paused == GNUNET_NO) | ||
408 | return CURL_READFUNC_PAUSE; | ||
409 | if ((s->msg_head == NULL) && (s->put_paused == GNUNET_YES)) | ||
410 | { | ||
411 | #if VERBOSE_CLIENT | ||
412 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Suspending handle `%s' `%s'\n", | ||
413 | GNUNET_i2s (&s->target),GNUNET_a2s (s->addr, s->addrlen)); | ||
414 | #endif | ||
415 | s->put_paused = GNUNET_NO; | ||
416 | return CURL_READFUNC_PAUSE; | ||
417 | } | ||
418 | */ | ||
419 | if (msg == NULL) | 414 | if (msg == NULL) |
420 | { | 415 | { |
416 | #if VERBOSE_CLIENT | ||
421 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: %X Nothing to send! Suspending PUT handle!\n", s->client_put); | 417 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: %X Nothing to send! Suspending PUT handle!\n", s->client_put); |
418 | #endif | ||
422 | s->client_put_paused = GNUNET_YES; | 419 | s->client_put_paused = GNUNET_YES; |
423 | return CURL_READFUNC_PAUSE; | 420 | return CURL_READFUNC_PAUSE; |
424 | } | 421 | } |