gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r36993 - gnunet/src/rps


From: gnunet
Subject: [GNUnet-SVN] r36993 - gnunet/src/rps
Date: Fri, 8 Apr 2016 20:27:44 +0200

Author: ch3
Date: 2016-04-08 20:27:44 +0200 (Fri, 08 Apr 2016)
New Revision: 36993

Modified:
   gnunet/src/rps/gnunet-service-rps.c
   gnunet/src/rps/gnunet-service-rps_peers.c
   gnunet/src/rps/gnunet-service-rps_peers.h
Log:
-rps: restructure gnunet-service-rps_peers

Modified: gnunet/src/rps/gnunet-service-rps.c
===================================================================
--- gnunet/src/rps/gnunet-service-rps.c 2016-04-08 18:27:38 UTC (rev 36992)
+++ gnunet/src/rps/gnunet-service-rps.c 2016-04-08 18:27:44 UTC (rev 36993)
@@ -678,7 +678,7 @@
   if (0 < RPS_sampler_count_id (prot_sampler, peer))
   {
     /* Make sure we 'know' about this peer */
-    (void) Peers_insert_peer (peer);
+    (void) Peers_insert_peer_check_liveliness (peer);
     /* Establish a channel towards that peer to indicate we are going to send
      * messages to it */
     Peers_indicate_sending_intention (peer);
@@ -1123,7 +1123,7 @@
          i,
          GNUNET_i2s (&peers[i]));
 
-    if (GNUNET_YES == Peers_insert_peer (&peers[i]))
+    if (GNUNET_YES == Peers_insert_peer_check_liveliness (&peers[i]))
     {
       Peers_schedule_operation (&peers[i], insert_in_sampler);
       Peers_schedule_operation (&peers[i], insert_in_view);
@@ -1371,7 +1371,7 @@
                                               &peers[i]))
     {
       /* Make sure we 'know' about this peer */
-      (void) Peers_insert_peer (&peers[i]);
+      (void) Peers_insert_peer_check_liveliness (&peers[i]);
 
       if (GNUNET_YES == Peers_check_peer_flag (&peers[i], Peers_VALID))
       {
@@ -1589,7 +1589,7 @@
     /* Set the flag of the attacked peer to valid to avoid problems */
     if (GNUNET_NO == Peers_check_peer_known (&attacked_peer))
     {
-      Peers_insert_peer (&attacked_peer);
+      Peers_insert_peer_check_liveliness (&attacked_peer);
       Peers_issue_peer_liveliness_check (&attacked_peer);
     }
 
@@ -1679,7 +1679,7 @@
      * Send as many pushes to the attacked peer as possible
      * That is one push per round as it will ignore more.
      */
-    Peers_insert_peer (&attacked_peer);
+    Peers_insert_peer_check_liveliness (&attacked_peer);
     if (GNUNET_YES == Peers_check_peer_flag (&attacked_peer, Peers_VALID))
       send_push (&attacked_peer);
   }
@@ -1691,7 +1691,7 @@
     /* Send PUSH to attacked peers */
     if (GNUNET_YES == Peers_check_peer_known (&attacked_peer))
     {
-      Peers_insert_peer (&attacked_peer);
+      Peers_insert_peer_check_liveliness (&attacked_peer);
       if (GNUNET_YES == Peers_check_peer_flag (&attacked_peer, Peers_VALID))
       {
         LOG (GNUNET_ERROR_TYPE_DEBUG,
@@ -1703,7 +1703,7 @@
         Peers_issue_peer_liveliness_check (&attacked_peer);
     }
     else
-      Peers_insert_peer (&attacked_peer);
+      Peers_insert_peer_check_liveliness (&attacked_peer);
     Peers_issue_peer_liveliness_check (&attacked_peer);
 
     /* The maximum of pushes we're going to send this round */
@@ -1995,7 +1995,7 @@
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "Got peer_id %s from cadet\n",
          GNUNET_i2s (peer));
-    Peers_insert_peer (peer);
+    Peers_insert_peer_check_liveliness (peer);
     Peers_schedule_operation (peer, insert_in_sampler);
     Peers_schedule_operation (peer, insert_in_view);
   }
@@ -2021,7 +2021,7 @@
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "Got peer_id %s from peerinfo\n",
          GNUNET_i2s (peer));
-    Peers_insert_peer (peer);
+    Peers_insert_peer_check_liveliness (peer);
     Peers_schedule_operation (peer, insert_in_sampler);
     Peers_schedule_operation (peer, insert_in_view);
   }

Modified: gnunet/src/rps/gnunet-service-rps_peers.c
===================================================================
--- gnunet/src/rps/gnunet-service-rps_peers.c   2016-04-08 18:27:38 UTC (rev 
36992)
+++ gnunet/src/rps/gnunet-service-rps_peers.c   2016-04-08 18:27:44 UTC (rev 
36993)
@@ -604,20 +604,44 @@
 int
 Peers_insert_peer (const struct GNUNET_PeerIdentity *peer)
 {
-  struct PeerContext *peer_ctx;
-
   if ( (GNUNET_YES == Peers_check_peer_known (peer)) ||
        (0 == GNUNET_CRYPTO_cmp_peer_identity (peer, own_identity)) )
   {
     return GNUNET_NO; /* We already know this peer - nothing to do */
   }
-  peer_ctx = create_peer_ctx (peer);
-  // TODO LIVE
+  (void) create_peer_ctx (peer);
+  return GNUNET_YES;
+}
+
+
+/**
+ * @brief Add peer to known peers and check for liveliness.
+ *
+ * This function is called on new peer_ids from 'external' sources
+ * (client seed, cadet get_peers(), ...)
+ *
+ * @param peer the new #GNUNET_PeerIdentity
+ *
+ * @return #GNUNET_YES if peer was inserted
+ *         #GNUNET_NO  if peer was already known
+ */
+int
+Peers_insert_peer_check_liveliness (const struct GNUNET_PeerIdentity *peer)
+{
+  struct PeerContext *peer_ctx;
+  int ret;
+
+  ret = Peers_insert_peer (peer);
+  if (0 == GNUNET_CRYPTO_cmp_peer_identity (peer, own_identity))
+  {
+    return ret;
+  }
+  peer_ctx = get_peer_ctx (peer);
   if (GNUNET_NO == check_peer_flag_set (peer_ctx, Peers_VALID))
   {
     check_peer_live (peer_ctx);
   }
-  return GNUNET_YES;
+  return ret;
 }
 
 /**

Modified: gnunet/src/rps/gnunet-service-rps_peers.h
===================================================================
--- gnunet/src/rps/gnunet-service-rps_peers.h   2016-04-08 18:27:38 UTC (rev 
36992)
+++ gnunet/src/rps/gnunet-service-rps_peers.h   2016-04-08 18:27:44 UTC (rev 
36993)
@@ -135,6 +135,20 @@
 Peers_insert_peer (const struct GNUNET_PeerIdentity *peer);
 
 /**
+ * @brief Add peer to known peers and check for liveliness.
+ *
+ * This function is called on new peer_ids from 'external' sources
+ * (client seed, cadet get_peers(), ...)
+ *
+ * @param peer the new #GNUNET_PeerIdentity
+ *
+ * @return #GNUNET_YES if peer was inserted
+ *         #GNUNET_NO  if peer was already known
+ */
+int
+Peers_insert_peer_check_liveliness (const struct GNUNET_PeerIdentity *peer);
+
+/**
  * @brief Remove unecessary data
  * 
  * If the other peer is not intending to send messages, we have messages 
pending




reply via email to

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