gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r34740 - gnunet/src/transport
Date: Sat, 20 Dec 2014 16:18:13 +0100

Author: grothoff
Date: 2014-12-20 16:18:13 +0100 (Sat, 20 Dec 2014)
New Revision: 34740

Modified:
   gnunet/src/transport/gnunet-service-transport_clients.c
Log:
-simplify logic

Modified: gnunet/src/transport/gnunet-service-transport_clients.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_clients.c     2014-12-20 
14:56:21 UTC (rev 34739)
+++ gnunet/src/transport/gnunet-service-transport_clients.c     2014-12-20 
15:18:13 UTC (rev 34740)
@@ -141,7 +141,9 @@
 
 
 /**
- * Client monitoring changes of active addresses of our neighbours.
+ * Client monitoring changes of active addresses or validations
+ * of our neighbours. Which type is being monitored depends on the
+ * DLL this struct is in.
  */
 struct MonitoringClient
 {
@@ -373,10 +375,12 @@
                    sizeof (struct GNUNET_PeerIdentity)))
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "Client %p started monitoring of the peer `%s'\n",
-                mc, GNUNET_i2s (peer));
+                mc,
+                GNUNET_i2s (peer));
   else
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                "Client %p started monitoring all peers\n", mc);
+                "Client %p started monitoring all peers\n",
+                mc);
   return mc;
 }
 
@@ -466,8 +470,8 @@
   if ( (tc->message_count >= MAX_PENDING) &&
        (GNUNET_YES == may_drop) )
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                _("Dropping message of type %u and size %u, have %u/%u 
messages pending\n"),
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                "Dropping message of type %u and size %u, have %u/%u messages 
pending\n",
                 ntohs (msg->type),
                 ntohs (msg->size),
                 tc->message_count,
@@ -534,11 +538,13 @@
   tc = lookup_client (client);
   if (NULL == tc)
     return;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
-              "Client %p disconnected, cleaning up.\n", tc);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Client %p disconnected, cleaning up.\n",
+              tc);
   while (NULL != (mqe = tc->message_queue_head))
   {
-    GNUNET_CONTAINER_DLL_remove (tc->message_queue_head, 
tc->message_queue_tail,
+    GNUNET_CONTAINER_DLL_remove (tc->message_queue_head,
+                                 tc->message_queue_tail,
                                  mqe);
     tc->message_count--;
     GNUNET_free (mqe);
@@ -577,21 +583,16 @@
                                struct GNUNET_BANDWIDTH_Value32NBO 
bandwidth_out)
 {
   struct TransportClient *tc = cls;
-  struct ConnectInfoMessage *cim;
-  size_t size = sizeof (struct ConnectInfoMessage);
-  char buf[size] GNUNET_ALIGN;
+  struct ConnectInfoMessage cim;
 
   if (GNUNET_NO == GST_neighbours_test_connected (peer))
     return;
-
-  GNUNET_assert (size < GNUNET_SERVER_MAX_MESSAGE_SIZE);
-  cim = (struct ConnectInfoMessage *) buf;
-  cim->header.size = htons (size);
-  cim->header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT);
-  cim->id = *peer;
-  cim->quota_in = bandwidth_in;
-  cim->quota_out = bandwidth_out;
-  unicast (tc, &cim->header, GNUNET_NO);
+  cim.header.size = htons (sizeof (struct ConnectInfoMessage));
+  cim.header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT);
+  cim.id = *peer;
+  cim.quota_in = bandwidth_in;
+  cim.quota_out = bandwidth_out;
+  unicast (tc, &cim.header, GNUNET_NO);
 }
 
 
@@ -614,15 +615,11 @@
   uint32_t options;
 
   tc = lookup_client (client);
-
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO | GNUNET_ERROR_TYPE_BULK,
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Client %p sent START\n", tc);
-  if (tc != NULL)
+  if (NULL != tc)
   {
     /* got 'start' twice from the same client, not allowed */
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
-                "TransportClient %p ServerClient %p sent multiple START 
messages\n",
-                tc, tc->client);
     GNUNET_break (0);
     GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
     return;
@@ -635,9 +632,7 @@
                sizeof (struct GNUNET_PeerIdentity))))
   {
     /* client thinks this is a different peer, reject */
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                _("Rejecting control connection from peer `%s', which is not 
me!\n"),
-                GNUNET_i2s (&start->self));
+    GNUNET_break (0);
     GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
     return;
   }
@@ -766,12 +761,6 @@
     return;
   }
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Received `%s' request from client with target `%4s' and first 
message of type %u and total size %u\n",
-              "SEND",
-              GNUNET_i2s (&obm->peer),
-              ntohs (obmm->type),
-              msize);
   if (GNUNET_NO == GST_neighbours_test_connected (&obm->peer))
   {
     /* not connected, not allowed to send; can happen due to asynchronous 
operations */
@@ -785,6 +774,12 @@
     GNUNET_SERVER_receive_done (client, GNUNET_OK);
     return;
   }
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Received `%s' request from client with target `%4s' and first 
message of type %u and total size %u\n",
+              "SEND",
+              GNUNET_i2s (&obm->peer),
+              ntohs (obmm->type),
+              msize);
   GNUNET_SERVER_receive_done (client, GNUNET_OK);
   stcc = GNUNET_new (struct SendTransmitContinuationContext);
   stcc->target = obm->peer;
@@ -817,9 +812,8 @@
                 GNUNET_i2s (peer));
     return;                     /* not allowed */
   }
-
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              _("Blacklist allows connection attempt to peer `%s'\n"),
+              "Blacklist allows connection attempt to peer `%s'\n",
               GNUNET_i2s (peer));
 
   GST_neighbours_try_connect (peer);
@@ -851,14 +845,11 @@
                    sizeof (struct GNUNET_PeerIdentity)))
   {
     GNUNET_break (0);
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                "Received a request connect message myself `%s'\n",
-                GNUNET_i2s (&trcm->peer));
     GNUNET_SERVER_receive_done (client, GNUNET_OK);
     return;
   }
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-              _("Received a request connect message for peer `%s'\n"),
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Received a request connect message for peer `%s'\n",
               GNUNET_i2s (&trcm->peer));
   (void) GST_blacklist_test_allowed (&trcm->peer,
                                      NULL,
@@ -893,14 +884,11 @@
                    sizeof (struct GNUNET_PeerIdentity)))
   {
     GNUNET_break (0);
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                "Received a request disconnect message myself `%s'\n",
-                GNUNET_i2s (&trdm->peer));
     GNUNET_SERVER_receive_done (client, GNUNET_OK);
     return;
   }
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-              _("Received a request disconnect message for peer `%s'\n"),
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Received a request disconnect message for peer `%s'\n",
               GNUNET_i2s (&trdm->peer));
   (void) GST_neighbours_force_disconnect (&trdm->peer);
   GNUNET_SERVER_receive_done (client, GNUNET_OK);
@@ -1136,7 +1124,10 @@
     alen = address->address_length;
   }
   else
-    tlen = alen = 0;
+  {
+    tlen = 0;
+    alen = 0;
+  }
   size = (sizeof (struct ValidationIterateResponseMessage) + alen + tlen);
   msg = GNUNET_malloc (size);
   msg->header.size = htons (size);
@@ -1204,20 +1195,20 @@
   struct IterationContext *pc = cls;
   struct ValidationIterateResponseMessage *msg;
 
-  if ( (GNUNET_YES == pc->all) ||
-       (0 == memcmp (peer, &pc->id, sizeof (pc->id))) )
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-        "Sending information about for validation entry for peer `%s' using 
address `%s'\n",
-        GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address) : 
"<none>");
-    msg = compose_validation_iterate_response_message (peer, address);
-    msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
-    msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
-    msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
-    msg->state = htonl ((uint32_t) state);
-    GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
-    GNUNET_free (msg);
-  }
+  if ( (GNUNET_YES != pc->all) &&
+       (0 != memcmp (peer, &pc->id, sizeof (pc->id))) )
+    return;
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Sending information about for validation entry for peer `%s' 
using address `%s'\n",
+              GNUNET_i2s(peer),
+              (NULL != address) ? GST_plugins_a2s (address) : "<none>");
+  msg = compose_validation_iterate_response_message (peer, address);
+  msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
+  msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
+  msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
+  msg->state = htonl ((uint32_t) state);
+  GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
+  GNUNET_free (msg);
 }
 
 
@@ -1244,20 +1235,19 @@
   struct IterationContext *pc = cls;
   struct PeerIterateResponseMessage *msg;
 
-  if ( (GNUNET_YES == pc->all) ||
-       (0 == memcmp (peer, &pc->id, sizeof (pc->id))) )
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-        "Sending information about `%s' using address `%s' in state `%s'\n",
-        GNUNET_i2s(peer),
-        (address != NULL) ? GST_plugins_a2s (address) : "<none>",
-        GNUNET_TRANSPORT_ps2s (state));
-    msg = compose_address_iterate_response_message (peer, address);
-    msg->state = htonl (state);
-    msg->state_timeout = GNUNET_TIME_absolute_hton(state_timeout);
-    GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
-    GNUNET_free (msg);
-  }
+  if ( (GNUNET_YES != pc->all) &&
+       (0 != memcmp (peer, &pc->id, sizeof (pc->id))) )
+    return;
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Sending information about `%s' using address `%s' in state 
`%s'\n",
+              GNUNET_i2s(peer),
+              (NULL != address) ? GST_plugins_a2s (address) : "<none>",
+              GNUNET_TRANSPORT_ps2s (state));
+  msg = compose_address_iterate_response_message (peer, address);
+  msg->state = htonl (state);
+  msg->state_timeout = GNUNET_TIME_absolute_hton(state_timeout);
+  GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
+  GNUNET_free (msg);
 }
 
 
@@ -1283,9 +1273,6 @@
        (NULL != lookup_monitoring_client (peer_monitoring_clients_head,
                                           client)) )
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
-               "ServerClient %p tried to start monitoring twice\n",
-               client);
     GNUNET_break (0);
     GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
     return;
@@ -1295,7 +1282,9 @@
   pc.tc = tc = GNUNET_SERVER_transmit_context_create (client);
 
   /* Send initial list */
-  if (0 == memcmp (&msg->peer, &all_zeros, sizeof (struct 
GNUNET_PeerIdentity)))
+  if (0 == memcmp (&msg->peer,
+                   &all_zeros,
+                   sizeof (struct GNUNET_PeerIdentity)))
   {
     /* iterate over all neighbours */
     pc.all = GNUNET_YES;
@@ -1356,9 +1345,6 @@
   if ( (GNUNET_YES != ntohl (msg->one_shot)) &&
        (NULL != lookup_monitoring_client (val_monitoring_clients_head, 
client)) )
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
-                "ServerClient %p tried to start monitoring twice\n",
-                client);
     GNUNET_break (0);
     GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
     return;
@@ -1368,7 +1354,9 @@
   pc.tc = tc = GNUNET_SERVER_transmit_context_create (client);
 
   /* Send initial list */
-  if (0 == memcmp (&msg->peer, &all_zeros, sizeof (struct 
GNUNET_PeerIdentity)))
+  if (0 == memcmp (&msg->peer,
+                   &all_zeros,
+                   sizeof (struct GNUNET_PeerIdentity)))
   {
     /* iterate over all neighbours */
     pc.all = GNUNET_YES;
@@ -1380,9 +1368,9 @@
     pc.all = GNUNET_NO;
     pc.id = msg->peer;
   }
+  GST_validation_iterate (&send_validation_information,
+                          &pc);
 
-  GST_validation_iterate (&send_validation_information, &pc);
-
   if (GNUNET_YES != ntohl (msg->one_shot))
   {
     setup_val_monitoring_client (client, &msg->peer);
@@ -1390,7 +1378,7 @@
   else
   {
     GNUNET_SERVER_transmit_context_append_data (tc, NULL, 0,
-        GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE);
+                                                
GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE);
   }
   GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL);
 }
@@ -1653,23 +1641,19 @@
   msg = compose_address_iterate_response_message (peer, address);
   msg->state = htonl (state);
   msg->state_timeout = GNUNET_TIME_absolute_hton (state_timeout);
-  mc = peer_monitoring_clients_head;
-  while (mc != NULL)
-  {
+  for (mc = peer_monitoring_clients_head; NULL != mc; mc = mc->next)
     if ((0 == memcmp (&mc->peer, &all_zeros,
                       sizeof (struct GNUNET_PeerIdentity))) ||
         (0 == memcmp (&mc->peer, peer,
                       sizeof (struct GNUNET_PeerIdentity))))
-    {
-      GNUNET_SERVER_notification_context_unicast (peer_nc, mc->client,
-                                                  &msg->header, GNUNET_NO);
-    }
-
-    mc = mc->next;
-  }
+      GNUNET_SERVER_notification_context_unicast (peer_nc,
+                                                  mc->client,
+                                                  &msg->header,
+                                                  GNUNET_NO);
   GNUNET_free (msg);
 }
 
+
 /**
  * Broadcast the new validation changes to all clients monitoring the peer.
  *
@@ -1693,27 +1677,22 @@
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Sending information about for validation entry for peer `%s' 
using address `%s'\n",
-              GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address) 
: "<none>");
-
+              GNUNET_i2s(peer),
+              (address != NULL) ? GST_plugins_a2s (address) : "<none>");
   msg = compose_validation_iterate_response_message (peer, address);
   msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
   msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
   msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
   msg->state = htonl ((uint32_t) state);
-  mc = val_monitoring_clients_head;
-  while (mc != NULL)
-  {
+  for (mc = val_monitoring_clients_head; NULL != mc; mc = mc->next)
     if ((0 == memcmp (&mc->peer, &all_zeros,
                       sizeof (struct GNUNET_PeerIdentity))) ||
         (0 == memcmp (&mc->peer, peer,
                       sizeof (struct GNUNET_PeerIdentity))))
-    {
-      GNUNET_SERVER_notification_context_unicast (val_nc, mc->client,
-                                                  &msg->header, GNUNET_NO);
-
-    }
-    mc = mc->next;
-  }
+      GNUNET_SERVER_notification_context_unicast (val_nc,
+                                                  mc->client,
+                                                  &msg->header,
+                                                  GNUNET_NO);
   GNUNET_free (msg);
 }
 




reply via email to

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