/** * Add a neighbour to the neighbour list. Grows the neighbour list * automatically. * * @param n the neighbour to add */ static void neighbour_list_add (struct Neighbour *n) { if (n->host_id >= neighbour_list_size) GST_array_grow_large_enough (neighbour_list, neighbour_list_size, n->host_id); GNUNET_assert (NULL == neighbour_list[n->host_id]); neighbour_list[n->host_id] = n; }
/** * Adds a route to the route list * * @param route the route to add */ static void route_list_add (struct Route *route) { if (route->dest >= route_list_size) GST_array_grow_large_enough (route_list, route_list_size, route->dest); GNUNET_assert (NULL == route_list[route->dest]); route_list[route->dest] = route; }
/** * Adds a slave to the slave array * * @param slave the slave controller to add */ static void slave_list_add (struct Slave *slave) { if (slave->host_id >= GST_slave_list_size) GST_array_grow_large_enough (GST_slave_list, GST_slave_list_size, slave->host_id); GNUNET_assert (NULL == GST_slave_list[slave->host_id]); GST_slave_list[slave->host_id] = slave; }
/** * Adds a peer to the peer array * * @param peer the peer to add */ static void peer_list_add (struct Peer *peer) { if (peer->id >= GST_peer_list_size) GST_array_grow_large_enough (GST_peer_list, GST_peer_list_size, peer->id); GNUNET_assert (NULL == GST_peer_list[peer->id]); GST_peer_list[peer->id] = peer; if (GNUNET_NO == peer->is_remote) GST_num_local_peers++; }
/** * Function to add a host to the current list of known hosts * * @param host the host to add * @return GNUNET_OK on success; GNUNET_SYSERR on failure due to host-id * already in use */ static int host_list_add (struct GNUNET_TESTBED_Host *host) { uint32_t host_id; host_id = GNUNET_TESTBED_host_get_id_ (host); if (GST_host_list_size <= host_id) GST_array_grow_large_enough (GST_host_list, GST_host_list_size, host_id); if (NULL != GST_host_list[host_id]) { LOG_DEBUG ("A host with id: %u already exists\n", host_id); return GNUNET_SYSERR; } GST_host_list[host_id] = host; return GNUNET_OK; }