gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r37672 - in gnunet/src: include testbed


From: gnunet
Subject: [GNUnet-SVN] r37672 - in gnunet/src: include testbed
Date: Sat, 6 Aug 2016 15:59:03 +0200

Author: lynx
Date: 2016-08-06 15:59:03 +0200 (Sat, 06 Aug 2016)
New Revision: 37672

Added:
   gnunet/src/testbed/test_testbed_api_testbed_run_topologystar.conf
Modified:
   gnunet/src/include/gnunet_testbed_service.h
   gnunet/src/testbed/Makefile.am
   gnunet/src/testbed/generate-underlay-topology.c
   gnunet/src/testbed/testbed_api_topology.c
Log:
testbed: STAR topology (SCNR)

Modified: gnunet/src/include/gnunet_testbed_service.h
===================================================================
--- gnunet/src/include/gnunet_testbed_service.h 2016-08-06 13:59:00 UTC (rev 
37671)
+++ gnunet/src/include/gnunet_testbed_service.h 2016-08-06 13:59:03 UTC (rev 
37672)
@@ -981,6 +981,11 @@
   GNUNET_TESTBED_TOPOLOGY_RING,
 
   /**
+   * Star topology.  No options.
+   */
+  GNUNET_TESTBED_TOPOLOGY_STAR,
+
+  /**
    * 2-d torus.  No options.
    */
   GNUNET_TESTBED_TOPOLOGY_2D_TORUS,

Modified: gnunet/src/testbed/Makefile.am
===================================================================
--- gnunet/src/testbed/Makefile.am      2016-08-06 13:59:00 UTC (rev 37671)
+++ gnunet/src/testbed/Makefile.am      2016-08-06 13:59:03 UTC (rev 37672)
@@ -142,6 +142,7 @@
   test_testbed_api_topology_clique \
   test_testbed_api_testbed_run_topologyrandom \
   test_testbed_api_testbed_run_topologyline \
+  test_testbed_api_testbed_run_topologystar \
   test_testbed_api_testbed_run_topologyclique \
   test_testbed_api_testbed_run_topologyring \
   test_testbed_api_testbed_run_topologysmallworldring \
@@ -176,6 +177,7 @@
   test_testbed_api_topology_clique \
   test_testbed_api_testbed_run_topologyrandom \
   test_testbed_api_testbed_run_topologyline \
+  test_testbed_api_testbed_run_topologystar \
   test_testbed_api_testbed_run_topologyclique \
   test_testbed_api_testbed_run_topologyring \
   test_testbed_api_testbed_run_topology2dtorus \
@@ -282,6 +284,12 @@
  $(top_builddir)/src/util/libgnunetutil.la \
  libgnunettestbed.la
 
+test_testbed_api_testbed_run_topologystar_SOURCES = \
+ test_testbed_api_testbed_run.c
+test_testbed_api_testbed_run_topologystar_LDADD = \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ libgnunettestbed.la
+
 test_testbed_api_testbed_run_topologyclique_SOURCES = \
  test_testbed_api_testbed_run.c
 test_testbed_api_testbed_run_topologyclique_LDADD = \
@@ -374,6 +382,7 @@
   test_testbed_api_test_timeout.conf \
   test_testbed_api_template.conf \
   test_testbed_api_testbed_run_topologyring.conf \
+  test_testbed_api_testbed_run_topologystar.conf \
   test_testbed_api_testbed_run_topologyclique.conf \
   test_testbed_api_testbed_run_topologyline.conf \
   test_testbed_api_testbed_run_topologyrandom.conf \

Modified: gnunet/src/testbed/generate-underlay-topology.c
===================================================================
--- gnunet/src/testbed/generate-underlay-topology.c     2016-08-06 13:59:00 UTC 
(rev 37671)
+++ gnunet/src/testbed/generate-underlay-topology.c     2016-08-06 13:59:03 UTC 
(rev 37672)
@@ -298,6 +298,7 @@
   {
   case GNUNET_TESTBED_TOPOLOGY_LINE:
   case GNUNET_TESTBED_TOPOLOGY_RING:
+  case GNUNET_TESTBED_TOPOLOGY_STAR:
   case GNUNET_TESTBED_TOPOLOGY_CLIQUE:
   case GNUNET_TESTBED_TOPOLOGY_2D_TORUS:
     GNUNET_TESTBED_underlay_construct_ (num_peers, link_processor, NULL,

Added: gnunet/src/testbed/test_testbed_api_testbed_run_topologystar.conf
===================================================================
--- gnunet/src/testbed/test_testbed_api_testbed_run_topologystar.conf           
                (rev 0)
+++ gnunet/src/testbed/test_testbed_api_testbed_run_topologystar.conf   
2016-08-06 13:59:03 UTC (rev 37672)
@@ -0,0 +1,4 @@
address@hidden@ test_testbed_api_template.conf
+
+[testbed]
+OVERLAY_TOPOLOGY = STAR

Modified: gnunet/src/testbed/testbed_api_topology.c
===================================================================
--- gnunet/src/testbed/testbed_api_topology.c   2016-08-06 13:59:00 UTC (rev 
37671)
+++ gnunet/src/testbed/testbed_api_topology.c   2016-08-06 13:59:03 UTC (rev 
37672)
@@ -286,6 +286,11 @@
   "RING",
 
     /**
+     * Star topology.  No options.
+     */
+  "STAR",
+
+    /**
      * 2-d torus.  No options.
      */
   "2D_TORUS",
@@ -316,6 +321,11 @@
   "LINE",
 
     /**
+     * Star topology.  No options.
+     */
+  "STAR",
+
+    /**
      * Read a topology from a given file.  Followed by the name of the file 
(const char *).
      */
   "FROM_FILE",
@@ -540,6 +550,43 @@
 
 
 /**
+ * Generates star topology
+ *
+ * @param tc the topology context
+ */
+static void
+gen_topo_star (struct TopologyContext *tc)
+{
+  unsigned int cnt;
+
+  tc->link_array_size = tc->num_peers - 1;
+  switch (tc->type)
+  {
+  case TOPOLOGYCONTEXT_TYPE_OVERLAY:
+    {
+      struct TopologyContextOverlay *overlay;
+
+      overlay = &tc->u.overlay;
+      overlay->link_array =
+          GNUNET_malloc (sizeof (struct OverlayLink) * tc->link_array_size);
+    }
+    break;
+  case TOPOLOGYCONTEXT_TYPE_UNDERLAY:
+    {
+      struct TopologyContextUnderlay *underlay;
+
+      underlay = &tc->u.underlay;
+      underlay->link_array =
+          GNUNET_malloc (sizeof (struct UnderlayLink) * tc->link_array_size);
+    }
+    break;
+  }
+  for (cnt = tc->link_array_size; cnt; cnt--)
+    make_link (0, 0, cnt, tc);
+}
+
+
+/**
  * Generates ring topology
  *
  * @param tc the topology context
@@ -1278,6 +1325,9 @@
   case GNUNET_TESTBED_TOPOLOGY_LINE:
     gen_topo_line (tc);
     break;
+  case GNUNET_TESTBED_TOPOLOGY_STAR:
+    gen_topo_star (tc);
+    break;
   case GNUNET_TESTBED_TOPOLOGY_RING:
     gen_topo_ring (tc);
     break;
@@ -1492,6 +1542,9 @@
   case GNUNET_TESTBED_TOPOLOGY_LINE:
     gen_topo_line (&tc);
     break;
+  case GNUNET_TESTBED_TOPOLOGY_STAR:
+    gen_topo_star (&tc);
+    break;
   case GNUNET_TESTBED_TOPOLOGY_RING:
     gen_topo_ring (&tc);
     break;




reply via email to

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