gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r32700 - gnunet/src/transport
Date: Thu, 20 Mar 2014 10:56:35 +0100

Author: wachs
Date: 2014-03-20 10:56:35 +0100 (Thu, 20 Mar 2014)
New Revision: 32700

Modified:
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/plugin_transport_bluetooth.c
   gnunet/src/transport/plugin_transport_http_client.c
   gnunet/src/transport/plugin_transport_http_server.c
   gnunet/src/transport/plugin_transport_tcp.c
   gnunet/src/transport/plugin_transport_udp.c
   gnunet/src/transport/plugin_transport_unix.c
   gnunet/src/transport/plugin_transport_wlan.c
Log:
session end function must include address to notify address


Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/gnunet-service-transport.c     2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -400,34 +400,46 @@
  * from the "TransmitFunction".
  *
  * @param cls closure
- * @param peer which peer was the session for
+ * @param address which address was the session for
  * @param session which session is being destoyed
  */
 static void
-plugin_env_session_end (void *cls, const struct GNUNET_PeerIdentity *peer,
+plugin_env_session_end (void *cls, const struct GNUNET_HELLO_Address *address,
     struct Session *session)
 {
-  const char *transport_name = cls;
-  struct GNUNET_HELLO_Address address;
   struct SessionKiller *sk;
 
-  GNUNET_assert(strlen (transport_name) > 0);
-  GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Session %p to peer `%s' ended \n",
-      session, GNUNET_i2s (peer));
-  if (NULL != session)
-    GNUNET_log_from(GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
-        "transport-ats", "Telling ATS to destroy session %p from peer %s\n",
-        session, GNUNET_i2s (peer));
+  if (NULL == address)
+  {
+    GNUNET_break (0);
+    return;
+  }
 
-  memset (&address, '\0', sizeof (address));
-  address.peer = *peer;
-  address.address = NULL;
-  address.address_length = 0;
-  address.transport_name = transport_name;
-  GST_neighbours_session_terminated (peer, session);
+  if (NULL == session)
+  {
+    GNUNET_break (0);
+    return;
+  }
 
+  GNUNET_assert(strlen (address->transport_name) > 0);
+  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Session %p to peer `%s' ended \n",
+      session, GNUNET_i2s (&address->peer));
+
+  GNUNET_log(GNUNET_ERROR_TYPE_INFO,
+      "Notification from plugin `%s' about terminated %ssession %p from peer 
`%s' address `%s'\n",
+      address->transport_name,
+      GNUNET_HELLO_address_check_option (address,
+          GNUNET_HELLO_ADDRESS_INFO_INBOUND) ? "inbound " : "", session,
+      GNUNET_i2s (&address->peer), GST_plugins_a2s (address));
+
+  GST_neighbours_session_terminated (&address->peer, session);
+
+  GNUNET_log_from(GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
+      "transport-ats", "Telling ATS to destroy session %p from peer %s\n",
+      session, GNUNET_i2s (&address->peer));
+
   /* Tell ATS that session has ended */
-  GNUNET_ATS_address_destroyed (GST_ats, &address, session);
+  GNUNET_ATS_address_destroyed (GST_ats, address, session);
   for (sk = sk_head; NULL != sk; sk = sk->next)
   {
     if (sk->session == session)
@@ -622,7 +634,6 @@
     GNUNET_break(0);
     return;
   }
-
   GNUNET_log(GNUNET_ERROR_TYPE_INFO,
       "Notification from plugin `%s' about new %ssession %p from peer `%s' 
address `%s'\n",
       address->transport_name,

Modified: gnunet/src/transport/plugin_transport_bluetooth.c
===================================================================
--- gnunet/src/transport/plugin_transport_bluetooth.c   2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/plugin_transport_bluetooth.c   2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -661,7 +661,7 @@
   struct PendingMessage *pm;
 
   endpoint->plugin->env->session_end (endpoint->plugin->env->cls,
-                                     &session->target,
+                                     session->address,
                                      session);
   while (NULL != (pm = session->pending_message_head))
   {

Modified: gnunet/src/transport/plugin_transport_http_client.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_client.c 2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/plugin_transport_http_client.c 2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -676,7 +676,7 @@
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
                    "Session %p: notifying transport about ending session\n",s);
 
-  plugin->env->session_end (plugin->env->cls, &s->target, s);
+  plugin->env->session_end (plugin->env->cls, s->address, s);
   client_delete_session (s);
 
   /* Re-schedule since handles have changed */

Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/plugin_transport_http_server.c 2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -1637,7 +1637,7 @@
     {
         /* Notify transport immediately that this session is invalid */
         s->session_ended = GNUNET_YES;
-        plugin->env->session_end (plugin->env->cls, &s->target, s);
+        plugin->env->session_end (plugin->env->cls, s->address, s);
     }
     server_delete_session (plugin, s);
   }
@@ -3048,7 +3048,7 @@
     {
       /* Notify transport immediately that this session is invalid */
       pos->session_ended = GNUNET_YES;
-      plugin->env->session_end (plugin->env->cls, &pos->target, pos);
+      plugin->env->session_end (plugin->env->cls, pos->address, pos);
     }
     server_delete_session (plugin, pos);
   }

Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2014-03-20 09:55:46 UTC (rev 
32699)
+++ gnunet/src/transport/plugin_transport_tcp.c 2014-03-20 09:56:35 UTC (rev 
32700)
@@ -782,7 +782,7 @@
   plugin->env->unregister_quota_notification (plugin->env->cls,
       &session->target, PLUGIN_NAME, session);
   session->plugin->env->session_end (session->plugin->env->cls,
-      &session->target, session);
+      session->address, session);
 
   if (GNUNET_SCHEDULER_NO_TASK != session->nat_connection_timeout)
   {

Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2014-03-20 09:55:46 UTC (rev 
32699)
+++ gnunet/src/transport/plugin_transport_udp.c 2014-03-20 09:56:35 UTC (rev 
32700)
@@ -1256,7 +1256,7 @@
       GNUNET_free(udpw);
     }
   }
-  plugin->env->session_end (plugin->env->cls, &s->target, s);
+  plugin->env->session_end (plugin->env->cls, s->address, s);
 
   if (NULL != s->frag_ctx)
   {

Modified: gnunet/src/transport/plugin_transport_unix.c
===================================================================
--- gnunet/src/transport/plugin_transport_unix.c        2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/plugin_transport_unix.c        2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -548,7 +548,7 @@
        "Disconnecting session for peer `%s' `%s'\n",
        GNUNET_i2s (&s->target),
        unix_address_to_string (NULL, s->address->address, 
s->address->address_length) );
-  plugin->env->session_end (plugin->env->cls, &s->target, s);
+  plugin->env->session_end (plugin->env->cls, s->address, s);
   removed = GNUNET_NO;
   next = plugin->msg_head;
   while (NULL != next)

Modified: gnunet/src/transport/plugin_transport_wlan.c
===================================================================
--- gnunet/src/transport/plugin_transport_wlan.c        2014-03-20 09:55:46 UTC 
(rev 32699)
+++ gnunet/src/transport/plugin_transport_wlan.c        2014-03-20 09:56:35 UTC 
(rev 32700)
@@ -662,7 +662,7 @@
   struct PendingMessage *pm;
 
   endpoint->plugin->env->session_end (endpoint->plugin->env->cls,
-                                     &session->target,
+                                     session->address,
                                      session);
   while (NULL != (pm = session->pending_message_head))
   {




reply via email to

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