gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r24917 - gnunet/src/testbed
Date: Mon, 12 Nov 2012 17:21:29 +0100

Author: harsha
Date: 2012-11-12 17:21:29 +0100 (Mon, 12 Nov 2012)
New Revision: 24917

Modified:
   gnunet/src/testbed/testbed_api_topology.c
Log:
implemented line topology

Modified: gnunet/src/testbed/testbed_api_topology.c
===================================================================
--- gnunet/src/testbed/testbed_api_topology.c   2012-11-12 15:57:32 UTC (rev 
24916)
+++ gnunet/src/testbed/testbed_api_topology.c   2012-11-12 16:21:29 UTC (rev 
24917)
@@ -268,15 +268,26 @@
   switch (topo)
   {
   case GNUNET_TESTBED_TOPOLOGY_LINE:
-    tc->link_array_size = num_peers - 1;
+  case GNUNET_TESTBED_TOPOLOGY_RING:
+    tc->link_array_size = 
+        (GNUNET_TESTBED_TOPOLOGY_LINE == topo)
+        ? (num_peers - 1) : num_peers;
     tc->link_array = GNUNET_malloc (sizeof (struct OverlayLink) *
                                    tc->link_array_size);
-    for (cnt=1; cnt < num_peers; cnt++)
+    for (cnt=0; cnt < (num_peers - 1); cnt++)
     {
-      tc->link_array[cnt-1].A = cnt-1;
-      tc->link_array[cnt-1].B = cnt;
-      tc->link_array[cnt-1].tc = tc;
+      tc->link_array[cnt].A = cnt;
+      tc->link_array[cnt].B = cnt + 1;
+      tc->link_array[cnt].tc = tc;
     }
+    if (GNUNET_TESTBED_TOPOLOGY_RING == topo)
+    {
+      tc->link_array[cnt].A = num_peers - 1;
+      tc->link_array[cnt].B = 0;
+      tc->link_array[cnt].tc = tc;
+      cnt++;
+    }
+    GNUNET_assert (cnt == tc->link_array_size);
     break;
   case GNUNET_TESTBED_TOPOLOGY_ERDOS_RENYI:
     tc->link_array_size = va_arg (va, unsigned int);




reply via email to

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