gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r24310 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r24310 - gnunet/src/testbed
Date: Sun, 14 Oct 2012 15:23:17 +0200

Author: harsha
Date: 2012-10-14 15:23:17 +0200 (Sun, 14 Oct 2012)
New Revision: 24310

Modified:
   gnunet/src/testbed/test_testbed_api_topology.c
   gnunet/src/testbed/testbed_api_topology.c
Log:
Random graph topology

Modified: gnunet/src/testbed/test_testbed_api_topology.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_topology.c      2012-10-14 13:14:51 UTC 
(rev 24309)
+++ gnunet/src/testbed/test_testbed_api_topology.c      2012-10-14 13:23:17 UTC 
(rev 24310)
@@ -31,7 +31,7 @@
 /**
  * Number of peers we want to start
  */
-#define NUM_PEERS 5
+#define NUM_PEERS 100
 
 /**
  * Array of peers
@@ -85,7 +85,7 @@
   {
   case GNUNET_TESTBED_ET_CONNECT:
     overlay_connects++;
-    if ((NUM_PEERS - 1) == overlay_connects)
+    if ((NUM_PEERS) == overlay_connects)
     {
       result = GNUNET_OK;
       GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
@@ -125,7 +125,8 @@
   peers = peers_;
   overlay_connects = 0;
   op = GNUNET_TESTBED_overlay_configure_topology (NULL, NUM_PEERS, peers,
-                                                 GNUNET_TESTBED_TOPOLOGY_LINE);
+                                                 
GNUNET_TESTBED_TOPOLOGY_ERDOS_RENYI,
+                                                  NUM_PEERS);
   GNUNET_assert (NULL != op);
 }
 

Modified: gnunet/src/testbed/testbed_api_topology.c
===================================================================
--- gnunet/src/testbed/testbed_api_topology.c   2012-10-14 13:14:51 UTC (rev 
24309)
+++ gnunet/src/testbed/testbed_api_topology.c   2012-10-14 13:23:17 UTC (rev 
24310)
@@ -225,7 +225,7 @@
   struct TopologyContext *tc;
   struct GNUNET_TESTBED_Operation *op;
   struct GNUNET_TESTBED_Controller *c;
-  unsigned int p;
+  unsigned int cnt;
 
   if (num_peers < 2)
     return NULL;
@@ -238,12 +238,31 @@
     tc->link_array_size = num_peers - 1;
     tc->link_array = GNUNET_malloc (sizeof (struct OverlayLink) *
                                    tc->link_array_size);
-    for (p=1; p < num_peers; p++)
+    for (cnt=1; cnt < num_peers; cnt++)
     {
-      tc->link_array[p-1].A = p-1;
-      tc->link_array[p-1].B = p;
+      tc->link_array[cnt-1].A = cnt-1;
+      tc->link_array[cnt-1].B = cnt;
     }
     break;
+  case GNUNET_TESTBED_TOPOLOGY_ERDOS_RENYI:
+    tc->link_array_size = va_arg (va, unsigned int);
+    tc->link_array = GNUNET_malloc (sizeof (struct OverlayLink) *
+                                    tc->link_array_size);
+    for (cnt = 0; cnt < tc->link_array_size; cnt++)
+    {
+      uint32_t A_rand;
+      uint32_t B_rand;
+      
+      do {
+        A_rand = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
+                                           num_peers);
+        B_rand = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
+                                           num_peers);
+      } while (A_rand == B_rand);      
+      tc->link_array[cnt].A = A_rand;
+      tc->link_array[cnt].B = B_rand;
+    }
+    break;
   default:
     GNUNET_break (0);
     return NULL;




reply via email to

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