* A array of names representing topologies. Should be in sync with enum
* GNUNET_TESTBED_TopologyOption
*/
-const char *topology_strings[] = {
+static const char *topology_strings[] = {
/**
* A clique (everyone connected to everyone else). No options. If there are N
*/
"CLIQUE",
- /**
+ /*
* Small-world network (2d torus plus random links). Followed
* by the number of random links to add (unsigned int).
*/
*/
"LINE",
- /**
- * Star topology. No options.
- */
- "STAR",
-
/**
* Read a topology from a given file. Followed by the name of the file (const char *).
*/
* operation has executed successfully.
*/
static void
-overlay_link_completed (void *cls, struct GNUNET_TESTBED_Operation *op,
+overlay_link_completed (void *cls,
+ struct GNUNET_TESTBED_Operation *op,
const char *emsg)
{
struct OverlayLink *link = cls;
if (0 != overlay->retry_cnt)
{
LOG (GNUNET_ERROR_TYPE_WARNING,
- "Error while establishing a link: %s -- Retrying\n", emsg);
+ "Error while establishing a link: %s -- Retrying\n",
+ emsg);
retry_entry = GNUNET_new (struct RetryListEntry);
retry_entry->link = link;
- GNUNET_CONTAINER_DLL_insert_tail (overlay->rl_head, overlay->rl_tail, retry_entry);
+ GNUNET_CONTAINER_DLL_insert_tail (overlay->rl_head,
+ overlay->rl_tail,
+ retry_entry);
}
}
else
{
link = retry_entry->link;
link->op =
- GNUNET_TESTBED_overlay_connect (overlay->op_cls, &overlay_link_completed,
- link, overlay->peers[link->A],
+ GNUNET_TESTBED_overlay_connect (overlay->op_cls,
+ &overlay_link_completed,
+ link,
+ overlay->peers[link->A],
overlay->peers[link->B]);
overlay->nlinks++;
- GNUNET_CONTAINER_DLL_remove (overlay->rl_head, overlay->rl_tail, retry_entry);
+ GNUNET_CONTAINER_DLL_remove (overlay->rl_head,
+ overlay->rl_tail,
+ retry_entry);
GNUNET_free (retry_entry);
}
return;
}
if (NULL != overlay->comp_cb)
{
- overlay->comp_cb (overlay->comp_cb_cls, overlay->nsuccess, overlay->nfailures);
+ overlay->comp_cb (overlay->comp_cb_cls,
+ overlay->nsuccess,
+ overlay->nfailures);
}
}
for (p = 0; p < tc->link_array_size; p++)
{
overlay->link_array[p].op =
- GNUNET_TESTBED_overlay_connect (overlay->op_cls, &overlay_link_completed,
+ GNUNET_TESTBED_overlay_connect (overlay->op_cls,
+ &overlay_link_completed,
&overlay->link_array[p],
overlay->peers[overlay->link_array[p].A],
overlay->peers[overlay->link_array[p].B]);
* @return
*/
static void
-make_link (unsigned int offset, uint32_t A, uint32_t B,
+make_link (unsigned int offset,
+ uint32_t A,
+ uint32_t B,
struct TopologyContext *tc)
{
GNUNET_assert (A != B);
overlay = &tc->u.overlay;
overlay->link_array =
- GNUNET_malloc (sizeof (struct OverlayLink) * tc->link_array_size);
+ GNUNET_new_array (tc->link_array_size,
+ struct OverlayLink);
}
break;
case TOPOLOGYCONTEXT_TYPE_UNDERLAY:
underlay = &tc->u.underlay;
underlay->link_array =
- GNUNET_malloc (sizeof (struct UnderlayLink) * tc->link_array_size);
+ GNUNET_new_array (tc->link_array_size,
+ struct UnderlayLink);
}
break;
}
overlay = &tc->u.overlay;
overlay->link_array =
- GNUNET_malloc (sizeof (struct OverlayLink) * tc->link_array_size);
+ GNUNET_new_array (tc->link_array_size,
+ struct OverlayLink);
}
break;
case TOPOLOGYCONTEXT_TYPE_UNDERLAY:
underlay = &tc->u.underlay;
underlay->link_array =
- GNUNET_malloc (sizeof (struct UnderlayLink) * tc->link_array_size);
+ GNUNET_new_array (tc->link_array_size,
+ struct UnderlayLink);
}
break;
}
for (cnt = tc->link_array_size; cnt; cnt--)
- make_link (0, 0, cnt, tc);
+ make_link (cnt - 1,
+ 0,
+ cnt,
+ tc);
}
other_peer_id);
while (('\n' != data[offset]) && ('|' != data[offset]) && (offset < fs))
offset++;
- if ('\n' == data[offset])
+ if ( (offset < fs) &&
+ ('\n' == data[offset]) )
state = PEER_INDEX;
- else if ('|' == data[offset])
+ else if ( (offset < fs) &&
+ ('|' == data[offset]) )
{
state = OTHER_PEER_INDEX;
offset++;
{
if (NULL != topology)
*topology = (enum GNUNET_TESTBED_TopologyOption) cnt;
+ GNUNET_assert (GNUNET_TESTBED_TOPOLOGY_OPTION_END != (enum GNUNET_TESTBED_TopologyOption) cnt);
return GNUNET_YES;
}
}