gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11194 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r11194 - gnunet/src/transport
Date: Wed, 5 May 2010 14:41:34 +0200

Author: wachs
Date: 2010-05-05 14:41:34 +0200 (Wed, 05 May 2010)
New Revision: 11194

Modified:
   gnunet/src/transport/plugin_transport_http.c
   gnunet/src/transport/test_plugin_transport_data_http.conf
Log:


Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c        2010-05-05 12:19:54 UTC 
(rev 11193)
+++ gnunet/src/transport/plugin_transport_http.c        2010-05-05 12:41:34 UTC 
(rev 11194)
@@ -144,14 +144,25 @@
 /**
  * Daemon for listening for new connections.
  */
-static struct MHD_Daemon *http_daemon;
+static struct MHD_Daemon *http_daemon_v4;
 
 /**
+ * Daemon for listening for new connections.
+ */
+static struct MHD_Daemon *http_daemon_v6;
+
+/**
  * Our primary task for http
  */
-static GNUNET_SCHEDULER_TaskIdentifier http_task;
+static GNUNET_SCHEDULER_TaskIdentifier http_task_v4;
 
 /**
+ * Our primary task for http
+ */
+static GNUNET_SCHEDULER_TaskIdentifier http_task_v6;
+
+
+/**
  * Curl multi for managing client operations.
  */
 static CURLM *curl_multi;
@@ -358,14 +369,18 @@
 {
   struct MHD_Daemon *daemon_handle = cls;
 
-  if (daemon_handle == http_daemon)
-    http_task = GNUNET_SCHEDULER_NO_TASK;
+  if (daemon_handle == http_daemon_v4)
+    http_task_v4 = GNUNET_SCHEDULER_NO_TASK;
 
+  if (daemon_handle == http_daemon_v6)
+    http_task_v6 = GNUNET_SCHEDULER_NO_TASK;
+
+
   if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
     return;
   GNUNET_assert (MHD_YES == MHD_run (daemon_handle));
-  if (daemon_handle == http_daemon)
-    http_task = prepare_daemon (daemon_handle);
+  if (daemon_handle == http_daemon_v4)
+    http_task_v4 = prepare_daemon (daemon_handle);
 
 }
 
@@ -434,17 +449,28 @@
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Shutting down http plugin...\n");
 
-  if ( http_task != GNUNET_SCHEDULER_NO_TASK)
+  if ( http_task_v4 != GNUNET_SCHEDULER_NO_TASK)
   {
-    GNUNET_SCHEDULER_cancel(plugin->env->sched, http_task);
+    GNUNET_SCHEDULER_cancel(plugin->env->sched, http_task_v4);
   }
 
-  if (http_daemon != NULL)
+  if ( http_task_v6 != GNUNET_SCHEDULER_NO_TASK)
   {
-    MHD_stop_daemon (http_daemon);
-    http_daemon = NULL;
+    GNUNET_SCHEDULER_cancel(plugin->env->sched, http_task_v6);
   }
 
+  if (http_daemon_v4 != NULL)
+  {
+    MHD_stop_daemon (http_daemon_v4);
+    http_daemon_v4 = NULL;
+  }
+  if (http_daemon_v6 != NULL)
+  {
+    MHD_stop_daemon (http_daemon_v6);
+    http_daemon_v6 = NULL;
+  }
+
+
   if ( NULL != curl_multi)
   {
     curl_multi_cleanup (curl_multi);
@@ -466,7 +492,6 @@
   struct GNUNET_TRANSPORT_PluginFunctions *api;
   long long unsigned int port;
   /* struct GNUNET_SERVICE_Context *service; */
-  int use_ipv6;
 
   plugin = GNUNET_malloc (sizeof (struct Plugin));
   plugin->env = env;
@@ -507,42 +532,36 @@
       libgnunet_plugin_transport_http_done (api);
       return NULL;
     }
-  use_ipv6 = GNUNET_YES;
-  use_ipv6 = GNUNET_CONFIGURATION_get_value_yesno  (env->cfg, 
"transport-http","USE_IPV6");
-  if ((http_daemon == NULL) && (port != 0))
+  if ((http_daemon_v4 == NULL) && (http_daemon_v6 == NULL) && (port != 0))
     {
-      if ( use_ipv6 == GNUNET_YES)
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Starting MHD on port %u with 
IPv6 enabled\n",port);
-          http_daemon = MHD_start_daemon (MHD_USE_IPv6,
-                                         port,
-                                         &acceptPolicyCallback,
-                                         NULL, &accessHandlerCallback, NULL,
-                                         MHD_OPTION_CONNECTION_LIMIT, 
(unsigned int) 16,
-                                         MHD_OPTION_PER_IP_CONNECTION_LIMIT, 
(unsigned int) 1,
-                                         MHD_OPTION_CONNECTION_TIMEOUT, 
(unsigned int) 16,
-                                         MHD_OPTION_CONNECTION_MEMORY_LIMIT, 
(size_t) (16 * 1024),
-                                         MHD_OPTION_END);
-        }
-      else
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Starting MHD on port %u with 
IPv6 disabled\n",port);
-          http_daemon = MHD_start_daemon (MHD_NO_FLAG,
-                                         port,
-                                         &acceptPolicyCallback,
-                                         NULL, &accessHandlerCallback, NULL,
-                                         MHD_OPTION_CONNECTION_LIMIT, 
(unsigned int) 16,
-                                         MHD_OPTION_PER_IP_CONNECTION_LIMIT, 
(unsigned int) 1,
-                                         MHD_OPTION_CONNECTION_TIMEOUT, 
(unsigned int) 16,
-                                         MHD_OPTION_CONNECTION_MEMORY_LIMIT, 
(size_t) (16 * 1024),
-                                         MHD_OPTION_END);
-        }
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Starting MHD on port %u with IPv6 
disabled\n",port);
+      http_daemon_v4 = MHD_start_daemon (MHD_NO_FLAG,
+                                     port,
+                                     &acceptPolicyCallback,
+                                     NULL, &accessHandlerCallback, NULL,
+                                     MHD_OPTION_CONNECTION_LIMIT, (unsigned 
int) 16,
+                                     MHD_OPTION_PER_IP_CONNECTION_LIMIT, 
(unsigned int) 1,
+                                     MHD_OPTION_CONNECTION_TIMEOUT, (unsigned 
int) 16,
+                                     MHD_OPTION_CONNECTION_MEMORY_LIMIT, 
(size_t) (16 * 1024),
+                                     MHD_OPTION_END);
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Starting MHD on port %u with IPv6 
enabled\n",port);
+      http_daemon_v6 = MHD_start_daemon (MHD_USE_IPv6,
+                                     port,
+                                     &acceptPolicyCallback,
+                                     NULL, &accessHandlerCallback, NULL,
+                                     MHD_OPTION_CONNECTION_LIMIT, (unsigned 
int) 16,
+                                     MHD_OPTION_PER_IP_CONNECTION_LIMIT, 
(unsigned int) 1,
+                                     MHD_OPTION_CONNECTION_TIMEOUT, (unsigned 
int) 16,
+                                     MHD_OPTION_CONNECTION_MEMORY_LIMIT, 
(size_t) (16 * 1024),
+                                     MHD_OPTION_END);
     }
 
   curl_multi = curl_multi_init ();
 
-  if (http_daemon != NULL)
-    http_task = prepare_daemon (http_daemon);
+  if (http_daemon_v4 != NULL)
+    http_task_v4 = prepare_daemon (http_daemon_v4);
+  if (http_daemon_v6 != NULL)
+    http_task_v6 = prepare_daemon (http_daemon_v6);
 
   if (NULL == plugin->env->stats)
   {
@@ -555,7 +574,7 @@
   GNUNET_STATISTICS_set ( env->stats, "# PUT requests", 0, GNUNET_NO);
   GNUNET_STATISTICS_set ( env->stats, "# GET requests", 0, GNUNET_NO);
 
-  if ( (NULL == http_daemon) || (NULL == curl_multi))
+  if ( ((NULL == http_daemon_v4) && (NULL == http_daemon_v6)) || (NULL == 
curl_multi))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Initializing http plugin failed\n");
     libgnunet_plugin_transport_http_done (api);

Modified: gnunet/src/transport/test_plugin_transport_data_http.conf
===================================================================
--- gnunet/src/transport/test_plugin_transport_data_http.conf   2010-05-05 
12:19:54 UTC (rev 11193)
+++ gnunet/src/transport/test_plugin_transport_data_http.conf   2010-05-05 
12:41:34 UTC (rev 11194)
@@ -4,5 +4,4 @@
 
 [transport-http]
 PORT = 12389
-DEBUG = YES
-USE_IPV6 = YES
\ No newline at end of file
+DEBUG = YES
\ No newline at end of file





reply via email to

[Prev in Thread] Current Thread [Next in Thread]