gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r21621 - gnunet/src/transport
Date: Tue, 29 May 2012 11:05:12 +0200

Author: wachs
Date: 2012-05-29 11:05:12 +0200 (Tue, 29 May 2012)
New Revision: 21621

Modified:
   gnunet/src/transport/plugin_transport_http.c
   gnunet/src/transport/plugin_transport_http.h
   gnunet/src/transport/plugin_transport_http_server.c
Log:
- refactorind reverting last fix


Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c        2012-05-29 08:09:45 UTC 
(rev 21620)
+++ gnunet/src/transport/plugin_transport_http.c        2012-05-29 09:05:12 UTC 
(rev 21621)
@@ -601,6 +601,8 @@
     s->msg_tk = NULL;
   }
   GNUNET_free (s->addr);
+  GNUNET_free_non_null (s->server_recv);
+  GNUNET_free_non_null (s->server_send);
   GNUNET_free (s);
 }
 

Modified: gnunet/src/transport/plugin_transport_http.h
===================================================================
--- gnunet/src/transport/plugin_transport_http.h        2012-05-29 08:09:45 UTC 
(rev 21620)
+++ gnunet/src/transport/plugin_transport_http.h        2012-05-29 09:05:12 UTC 
(rev 21621)
@@ -305,6 +305,24 @@
 };
 GNUNET_NETWORK_STRUCT_END
 
+
+struct ServerConnection
+{
+  /* _RECV or _SEND */
+  int direction;
+
+  /* Should this connection get disconnected? GNUNET_YES/NO  */
+  int disconnect;
+
+  /* The session this server connection belongs to */
+  struct Session *session;
+
+  /* The MHD connection */
+  struct MHD_Connection *mhd_conn;
+};
+
+
+
 /**
  * Session handle for connections.
  */
@@ -417,12 +435,12 @@
   /**
    * Client send handle
    */
-  void *server_recv;
+  struct ServerConnection *server_recv;
 
   /**
    * Client send handle
    */
-  void *server_send;
+  struct ServerConnection *server_send;
 };
 
 /**

Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2012-05-29 08:09:45 UTC 
(rev 21620)
+++ gnunet/src/transport/plugin_transport_http_server.c 2012-05-29 09:05:12 UTC 
(rev 21621)
@@ -32,18 +32,6 @@
 
 static struct Plugin * p;
 
-struct ServerConnection
-{
-  /* _RECV or _SEND */
-  int direction;
-
-  /* should this connection get disconnected? GNUNET_YES/NO  */
-  int disconnect;
-
-  struct Session *session;
-  struct MHD_Connection *mhd_conn;
-};
-
 /**
  * Function that queries MHD's select sets and
  * starts the task waiting for them.
@@ -540,14 +528,9 @@
   s = create_session (plugin, &target, a, a_len);
   GNUNET_assert (NULL != s);
   s->ats_address_network_type = ats.value;
-
   s->inbound = GNUNET_YES;
   s->next_receive = GNUNET_TIME_UNIT_ZERO_ABS;
   s->tag = tag;
-  if (0 == strcmp (MHD_HTTP_METHOD_PUT, method))
-    s->server_recv = s;
-  if (0 == strcmp (MHD_HTTP_METHOD_GET, method))
-    s->server_send = s;
   GNUNET_CONTAINER_DLL_insert (plugin->server_semi_head,
                                plugin->server_semi_tail, s);
   goto found;
@@ -853,24 +836,15 @@
 int
 server_disconnect (struct Session *s)
 {
-  struct Plugin *plugin = s->plugin;
-  struct Session *t = plugin->head;
-
-  while (t != NULL)
+  if (s->server_send != NULL)
   {
-    if (t->inbound == GNUNET_YES)
-    {
-      if (t->server_send != NULL)
-      {
-        ((struct ServerConnection *) t->server_send)->disconnect = GNUNET_YES;
-      }
-      if (t->server_send != NULL)
-      {
-        ((struct ServerConnection *) t->server_send)->disconnect = GNUNET_YES;
-      }
-    }
-    t = t->next;
+    ((struct ServerConnection *) s->server_send)->disconnect = GNUNET_YES;
   }
+  if (s->server_recv != NULL)
+  {
+    ((struct ServerConnection *) s->server_recv)->disconnect = GNUNET_YES;
+  }
+
   return GNUNET_OK;
 }
 




reply via email to

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