gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r35247 - gnunet/src/transport
Date: Thu, 12 Feb 2015 20:52:47 +0100

Author: grothoff
Date: 2015-02-12 20:52:47 +0100 (Thu, 12 Feb 2015)
New Revision: 35247

Modified:
   gnunet/src/transport/plugin_transport_tcp.c
Log:
log TCP server suspends

Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2015-02-12 19:37:14 UTC (rev 
35246)
+++ gnunet/src/transport/plugin_transport_tcp.c 2015-02-12 19:52:47 UTC (rev 
35247)
@@ -1573,25 +1573,18 @@
     {
       session = si_ctx.result;
       LOG (GNUNET_ERROR_TYPE_DEBUG,
-           "Found existing session for `%s' address `%s' session %p\n",
+           "Found existing session for `%s' address `%s'\n",
            GNUNET_i2s (&address->peer),
            tcp_plugin_address_to_string (plugin,
                                          address->address,
-                                         address->address_length),
-           session);
+                                         address->address_length));
       return session;
     }
-    LOG (GNUNET_ERROR_TYPE_DEBUG,
-         "Existing sessions did not match address `%s' or peer `%s'\n",
-         tcp_plugin_address_to_string (plugin,
-                                       address->address,
-                                       address->address_length),
-        GNUNET_i2s (&address->peer));
   }
 
   if (addrlen == sizeof(struct IPv6TcpAddress))
   {
-    GNUNET_assert(NULL != address->address); /* make static analysis happy */
+    GNUNET_assert (NULL != address->address); /* make static analysis happy */
     t6 = address->address;
     options = t6->options;
     af = AF_INET6;
@@ -1627,12 +1620,16 @@
   }
   else
   {
-    GNUNET_STATISTICS_update (plugin->env->stats, gettext_noop
-    ("# requests to create session with invalid address"), 1, GNUNET_NO);
+    GNUNET_STATISTICS_update (plugin->env->stats,
+                              gettext_noop ("# requests to create session with 
invalid address"),
+                              1,
+                              GNUNET_NO);
     return NULL;
   }
 
-  net_type = plugin->env->get_address_type (plugin->env->cls, sb, sbs);
+  net_type = plugin->env->get_address_type (plugin->env->cls,
+                                            sb,
+                                            sbs);
   GNUNET_break (net_type != GNUNET_ATS_NET_UNSPECIFIED);
 
   if ((is_natd == GNUNET_YES) && (addrlen == sizeof(struct IPv6TcpAddress)))
@@ -1656,10 +1653,11 @@
     return NULL;
   }
 
-  if ((is_natd == GNUNET_YES) && (NULL != plugin->nat) &&
-      (GNUNET_NO ==
-       GNUNET_CONTAINER_multipeermap_contains (plugin->nat_wait_conns,
-                                               &address->peer)))
+  if ( (is_natd == GNUNET_YES) &&
+       (NULL != plugin->nat) &&
+       (GNUNET_NO ==
+        GNUNET_CONTAINER_multipeermap_contains (plugin->nat_wait_conns,
+                                                &address->peer)))
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "Found valid IPv4 NAT address (creating session)!\n");
@@ -1753,8 +1751,13 @@
   }
   plugin->cur_connections++;
   if (plugin->cur_connections == plugin->max_connections)
+  {
+    GNUNET_STATISTICS_update (session->plugin->env->stats,
+                              gettext_noop ("# TCP service suspended"),
+                              1,
+                              GNUNET_NO);
     GNUNET_SERVER_suspend (plugin->server); /* Maximum number of connections 
rechead */
-
+  }
   LOG (GNUNET_ERROR_TYPE_DEBUG,
        "Asked to transmit to `%4s', creating fresh session using address 
`%s'.\n",
        GNUNET_i2s (&address->peer),
@@ -2324,8 +2327,15 @@
     if (NULL != plugin->service) /* Otherwise value is incremented in 
tcp_access_check */
       plugin->cur_connections++;
     if (plugin->cur_connections == plugin->max_connections)
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                  _("TCP connection limit reached, suspending server\n"));
+      GNUNET_STATISTICS_update (session->plugin->env->stats,
+                                gettext_noop ("# TCP service suspended"),
+                                1,
+                                GNUNET_NO);
       GNUNET_SERVER_suspend (plugin->server); /* Maximum number of connections 
rechead */
-
+    }
     if (GNUNET_OK ==
         GNUNET_SERVER_client_get_address (client, &vaddr, &alen))
     {
@@ -2371,7 +2381,7 @@
                                          vaddr,
                                          alen);
       LOG (GNUNET_ERROR_TYPE_DEBUG,
-           "Creating new%s session %p for peer `%s' client %p \n",
+           "Creating new%s session %p for peer `%s' client %p\n",
            GNUNET_HELLO_address_check_option (session->address,
                                               
GNUNET_HELLO_ADDRESS_INFO_INBOUND)
            ? " inbound" : "",
@@ -2553,15 +2563,21 @@
                                      session->address->address_length));
 
   if (plugin->cur_connections == plugin->max_connections)
+  {
+    GNUNET_STATISTICS_update (session->plugin->env->stats,
+                              gettext_noop ("# TCP service resumed"),
+                              1,
+                              GNUNET_NO);
     GNUNET_SERVER_resume (plugin->server); /* Resume server  */
+  }
 
   if (plugin->cur_connections < 1)
     GNUNET_break(0);
   else
     plugin->cur_connections--;
 
-  GNUNET_STATISTICS_update (session->plugin->env->stats, gettext_noop
-                            ("# network-level TCP disconnect events"),
+  GNUNET_STATISTICS_update (session->plugin->env->stats,
+                            gettext_noop ("# network-level TCP disconnect 
events"),
                             1,
                             GNUNET_NO);
   tcp_plugin_disconnect_session (plugin, session);




reply via email to

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