[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17035 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17035 - gnunet/src/transport |
Date: |
Tue, 27 Sep 2011 12:59:27 +0200 |
Author: wachs
Date: 2011-09-27 12:59:27 +0200 (Tue, 27 Sep 2011)
New Revision: 17035
Modified:
gnunet/src/transport/plugin_transport_http.h
gnunet/src/transport/plugin_transport_http_client.c
gnunet/src/transport/plugin_transport_http_new.c
gnunet/src/transport/plugin_transport_http_server.c
Log:
working version
Modified: gnunet/src/transport/plugin_transport_http.h
===================================================================
--- gnunet/src/transport/plugin_transport_http.h 2011-09-27 09:58:15 UTC
(rev 17034)
+++ gnunet/src/transport/plugin_transport_http.h 2011-09-27 10:59:27 UTC
(rev 17035)
@@ -42,10 +42,10 @@
#include <curl/curl.h>
-#define DEBUG_HTTP GNUNET_YES
-#define VERBOSE_SERVER GNUNET_YES
-#define VERBOSE_CLIENT GNUNET_YES
-#define VERBOSE_CURL GNUNET_YES
+#define DEBUG_HTTP GNUNET_NO
+#define VERBOSE_SERVER GNUNET_NO
+#define VERBOSE_CLIENT GNUNET_NO
+#define VERBOSE_CURL GNUNET_NO
#if BUILD_HTTPS
#define LIBGNUNET_PLUGIN_TRANSPORT_INIT libgnunet_plugin_transport_https_init
@@ -248,7 +248,7 @@
void *server_recv;
void *server_send;
- struct GNUNET_TIME_Absolute delay;
+ struct GNUNET_TIME_Absolute next_receive;
GNUNET_SCHEDULER_TaskIdentifier recv_wakeup_task;
uint32_t tag;
Modified: gnunet/src/transport/plugin_transport_http_client.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_client.c 2011-09-27 09:58:15 UTC
(rev 17034)
+++ gnunet/src/transport/plugin_transport_http_client.c 2011-09-27 10:59:27 UTC
(rev 17035)
@@ -146,7 +146,9 @@
if ((s != NULL) && (s->client_put_paused == GNUNET_YES))
{
+#if VERBOSE_CLIENT
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, s->plugin->name, "Client: %X was
suspended, unpausing\n", s->client_put);
+#endif
s->client_put_paused = GNUNET_NO;
curl_easy_pause(s->client_put, CURLPAUSE_CONT);
}
@@ -306,10 +308,13 @@
struct GNUNET_TIME_Relative delay;
delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen);
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "CLIENT: CLIENT
DELAY %llu ms\n",
+ delay.rel_value);
- s->delay = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay);
- if (GNUNET_TIME_absolute_get().abs_value < s->delay.abs_value)
+ s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
delay);
+
+ if (GNUNET_TIME_absolute_get().abs_value < s->next_receive.abs_value)
{
#if VERBOSE_CLIENT
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 @@
client_receive (void *stream, size_t size, size_t nmemb, void *cls)
{
struct Session *s = cls;
- struct Plugin *plugin = s->plugin;
struct GNUNET_TIME_Absolute now;
size_t len = size * nmemb;
#if VERBOSE_CLIENT
+ struct Plugin *plugin = s->plugin;
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: Received
%Zu bytes from peer `%s'\n",
len,
GNUNET_i2s (&s->target));
#endif
now = GNUNET_TIME_absolute_get();
- if (now.abs_value < s->delay.abs_value)
+ if (now.abs_value < s->next_receive.abs_value)
{
-#if 0
#if DEBUG_CLIENT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"No inbound bandwidth available! Next read was delayed for
%llu ms\n",
- s, GNUNET_TIME_absolute_get_difference(s->delay,
GNUNET_TIME_absolute_get()).rel_value);
+ s, GNUNET_TIME_absolute_get_difference(s->next_receive,
GNUNET_TIME_absolute_get()).rel_value);
#endif
+#if 0
if (s->recv_wakeup_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (s->recv_wakeup_task);
s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK;
}
- s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed(
GNUNET_TIME_absolute_get_difference(s->delay, now), &client_wake_up, s);
+ s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed(
GNUNET_TIME_absolute_get_difference(s->next_receive, now), &client_wake_up, s);
return CURLPAUSE_ALL;
#endif
}
@@ -398,27 +403,19 @@
client_send_cb (void *stream, size_t size, size_t nmemb, void *cls)
{
struct Session *s = cls;
+#if VERBOSE_CLIENT
struct Plugin *plugin = s->plugin;
+#endif
size_t bytes_sent = 0;
size_t len;
struct HTTP_Message *msg = s->msg_head;
-/*
- if (s->put_paused == GNUNET_NO)
- return CURL_READFUNC_PAUSE;
- if ((s->msg_head == NULL) && (s->put_paused == GNUNET_YES))
- {
-#if VERBOSE_CLIENT
- GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Suspending handle
`%s' `%s'\n",
- GNUNET_i2s (&s->target),GNUNET_a2s (s->addr, s->addrlen));
-#endif
- s->put_paused = GNUNET_NO;
- return CURL_READFUNC_PAUSE;
- }
-*/
+
if (msg == NULL)
{
+#if VERBOSE_CLIENT
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Client: %X
Nothing to send! Suspending PUT handle!\n", s->client_put);
+#endif
s->client_put_paused = GNUNET_YES;
return CURL_READFUNC_PAUSE;
}
Modified: gnunet/src/transport/plugin_transport_http_new.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_new.c 2011-09-27 09:58:15 UTC
(rev 17034)
+++ gnunet/src/transport/plugin_transport_http_new.c 2011-09-27 10:59:27 UTC
(rev 17035)
@@ -420,7 +420,7 @@
s->transmit_cont = cont;
s->transmit_cont_cls = cont_cls;
s->next = NULL;
- s->delay = GNUNET_TIME_absolute_get_forever();
+ s->next_receive = GNUNET_TIME_absolute_get_forever();
return s;
}
@@ -487,7 +487,7 @@
int res = GNUNET_SYSERR;
#if DEBUG_HTTP
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Sending %u bytes to peer `%s' on address `%s' %X %i\n",
msgbuf_size,
GNUNET_i2s (target), ((addr != NULL) && (addrlen != 0)) ?
http_plugin_address_to_string(plugin, addr, addrlen) : "<inbound>", session,
force_address);
#endif
@@ -497,7 +497,7 @@
/* look for existing connection */
s = lookup_session (plugin, target, session, addr, addrlen, 1);
#if DEBUG_HTTP
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"%s existing session: %s\n", (s!=NULL) ? "Found" : "NOT
Found", ((s != NULL) && (s->inbound == GNUNET_YES)) ? "inbound" : "outbound");
#endif
@@ -514,7 +514,7 @@
}
#if DEBUG_HTTP
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Initiiating new connection to peer `%s'\n",
GNUNET_i2s (target));
#endif
@@ -541,7 +541,7 @@
if (s->inbound == GNUNET_NO)
{
#if DEBUG_HTTP
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Using outbound client session to send to `%s'\n",
GNUNET_i2s (target));
#endif
@@ -553,7 +553,7 @@
server_send (s, msg);
res = msgbuf_size;
#if DEBUG_HTTP
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Using inbound server session to send to `%s'\n",
GNUNET_i2s (target));
#endif
@@ -754,7 +754,9 @@
socklen_t addrlen)
{
GNUNET_assert (cls != NULL);
+#if DEBUG_HTTP
struct Plugin *plugin = cls;
+#endif
static int limit;
#if DEBUG_HTTP
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
@@ -790,7 +792,7 @@
GNUNET_SERVICE_get_server_addresses (plugin->name, plugin->env->cfg,
&addrs, &addrlens);
#if 0
- GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
_("FOUND %u addresses\n"),res);
#endif
Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2011-09-27 09:58:15 UTC
(rev 17034)
+++ gnunet/src/transport/plugin_transport_http_server.c 2011-09-27 10:59:27 UTC
(rev 17035)
@@ -242,16 +242,16 @@
const struct GNUNET_MessageHeader *message)
{
struct Session *s = cls;
+#if VERBOSE_SERVER
struct Plugin *plugin = s->plugin;
+#endif
struct GNUNET_TIME_Relative delay;
delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen);
- s->delay = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay);
- GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Server: SERVER
DELAY %llu ms\n",
- delay.rel_value);
+ s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
delay);
- if (GNUNET_TIME_absolute_get().abs_value < s->delay.abs_value)
+ if (delay.rel_value > 0)
{
#if VERBOSE_CLIENT
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, "Server: peer `%s'
address `%s' next read delayed for %llu ms\n",
@@ -272,7 +272,7 @@
server_send_callback (void *cls, uint64_t pos, char *buf, size_t max)
{
struct Session *s = cls;
- struct Plugin *plugin = s->plugin;
+
struct HTTP_Message *msg;
int bytes_read = 0;
//static int c = 0;
@@ -304,6 +304,7 @@
}
#if VERBOSE_CLIENT
+ struct Plugin *plugin = s->plugin;
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Server: %X: sent %u bytes\n",
s, bytes_read);
@@ -324,6 +325,7 @@
const char *upload_data, size_t * upload_data_size,
void **httpSessionCache)
{
+
struct Plugin *plugin = cls;
struct ServerConnection *sc = *httpSessionCache;
struct Session *s = NULL;
@@ -477,7 +479,7 @@
NULL);
s->inbound = GNUNET_YES;
- s->delay = GNUNET_TIME_absolute_get_zero();
+ s->next_receive = GNUNET_TIME_absolute_get_zero();
s->tag= tag;
if (0 == strcmp (MHD_HTTP_METHOD_PUT, method))
s->server_recv = s;
@@ -563,7 +565,7 @@
GNUNET_i2s (&s->target), GNUNET_a2s (s->addr, s->addrlen),
*upload_data_size);
#endif
struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get();
- if (( s->delay.abs_value < now.abs_value))
+ if (( s->next_receive.abs_value <= now.abs_value))
{
#if VERBOSE_SERVER
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
@@ -575,19 +577,18 @@
s->msg_tk = GNUNET_SERVER_mst_create (&server_receive_mst_cb, s);
}
res = GNUNET_SERVER_mst_receive (s->msg_tk, s, upload_data,
*upload_data_size, GNUNET_NO, GNUNET_NO);
+#if VERBOSE_SERVER
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
- "Server: Received %Zu bytes\n",
- *upload_data_size);
+ "Server: Received %Zu bytes\n", *upload_data_size);
+#endif
(*upload_data_size) = 0;
}
else
{
-
#if DEBUG_HTTP
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Connection %X: no inbound bandwidth available! Next read
was delayed by %llu ms\n", s, now.abs_value - s->delay.abs_value);
+ "Server: %X no inbound bandwidth available! Next read was
delayed by %llu ms\n", s, now.abs_value - s->next_receive.abs_value);
#endif
-
}
return MHD_YES;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17035 - gnunet/src/transport,
gnunet <=