diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-11-12 16:21:29 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-11-12 16:21:29 +0000 |
commit | 89b68440fb41d38d2e441223e66117ef5f8d06f7 (patch) | |
tree | 357fd0fba2b200e41f99d679eab9a7a7567b7586 /src/testbed/testbed_api_topology.c | |
parent | bc9a331bbd28bb636dd868cf6f018cefcf0cb0a2 (diff) | |
download | gnunet-89b68440fb41d38d2e441223e66117ef5f8d06f7.tar.gz gnunet-89b68440fb41d38d2e441223e66117ef5f8d06f7.zip |
implemented line topology
Diffstat (limited to 'src/testbed/testbed_api_topology.c')
-rw-r--r-- | src/testbed/testbed_api_topology.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/testbed/testbed_api_topology.c b/src/testbed/testbed_api_topology.c index a8d485851..d6575adbb 100644 --- a/src/testbed/testbed_api_topology.c +++ b/src/testbed/testbed_api_topology.c | |||
@@ -268,15 +268,26 @@ GNUNET_TESTBED_overlay_configure_topology_va (void *op_cls, | |||
268 | switch (topo) | 268 | switch (topo) |
269 | { | 269 | { |
270 | case GNUNET_TESTBED_TOPOLOGY_LINE: | 270 | case GNUNET_TESTBED_TOPOLOGY_LINE: |
271 | tc->link_array_size = num_peers - 1; | 271 | case GNUNET_TESTBED_TOPOLOGY_RING: |
272 | tc->link_array_size = | ||
273 | (GNUNET_TESTBED_TOPOLOGY_LINE == topo) | ||
274 | ? (num_peers - 1) : num_peers; | ||
272 | tc->link_array = GNUNET_malloc (sizeof (struct OverlayLink) * | 275 | tc->link_array = GNUNET_malloc (sizeof (struct OverlayLink) * |
273 | tc->link_array_size); | 276 | tc->link_array_size); |
274 | for (cnt=1; cnt < num_peers; cnt++) | 277 | for (cnt=0; cnt < (num_peers - 1); cnt++) |
275 | { | 278 | { |
276 | tc->link_array[cnt-1].A = cnt-1; | 279 | tc->link_array[cnt].A = cnt; |
277 | tc->link_array[cnt-1].B = cnt; | 280 | tc->link_array[cnt].B = cnt + 1; |
278 | tc->link_array[cnt-1].tc = tc; | 281 | tc->link_array[cnt].tc = tc; |
282 | } | ||
283 | if (GNUNET_TESTBED_TOPOLOGY_RING == topo) | ||
284 | { | ||
285 | tc->link_array[cnt].A = num_peers - 1; | ||
286 | tc->link_array[cnt].B = 0; | ||
287 | tc->link_array[cnt].tc = tc; | ||
288 | cnt++; | ||
279 | } | 289 | } |
290 | GNUNET_assert (cnt == tc->link_array_size); | ||
280 | break; | 291 | break; |
281 | case GNUNET_TESTBED_TOPOLOGY_ERDOS_RENYI: | 292 | case GNUNET_TESTBED_TOPOLOGY_ERDOS_RENYI: |
282 | tc->link_array_size = va_arg (va, unsigned int); | 293 | tc->link_array_size = va_arg (va, unsigned int); |