#define TO_ROUTE_FULL(i,j) p_routingTable[(i)+(j)*table_size]
-AS_t model_full_create(void)
-{
- return new simgrid::surf::AsFull();
-}
-
-void model_full_end(AS_t _routing)
-{
- _routing->Seal();
-}
-
namespace simgrid {
namespace surf {
+ AsFull::AsFull(const char*name)
+ : AsGeneric(name)
+ {
+ }
+
void AsFull::Seal() {
int i;
sg_platf_route_cbarg_t e_route;
/* set utils vars */
- int table_size = (int)xbt_dynar_length(p_indexNetworkElm);
+ int table_size = (int)xbt_dynar_length(vertices_);
/* Create table if necessary */
if (!p_routingTable)
p_routingTable = xbt_new0(sg_platf_route_cbarg_t, table_size * table_size);
/* Add the loopback if needed */
- if (routing_platf->p_loopback && p_hierarchy == SURF_ROUTING_BASE) {
+ if (routing_platf->p_loopback && hierarchy_ == SURF_ROUTING_BASE) {
for (i = 0; i < table_size; i++) {
e_route = TO_ROUTE_FULL(i, i);
if (!e_route) {
AsFull::~AsFull(){
if (p_routingTable) {
- int table_size = (int)xbt_dynar_length(p_indexNetworkElm);
+ int table_size = (int)xbt_dynar_length(vertices_);
int i, j;
/* Delete routing table */
for (i = 0; i < table_size; i++)
xbt_dynar_t ret = xbt_dynar_new(sizeof(Onelink*), xbt_free_f);
int src, dst;
- int table_size = xbt_dynar_length(p_indexNetworkElm);
+ int table_size = xbt_dynar_length(vertices_);
for(src=0; src < table_size; src++) {
for(dst=0; dst< table_size; dst++) {
if (xbt_dynar_length(route->link_list) == 1) {
void *link = *(void **) xbt_dynar_get_ptr(route->link_list, 0);
Onelink *onelink;
- if (p_hierarchy == SURF_ROUTING_BASE) {
- NetCard *tmp_src = xbt_dynar_get_as(p_indexNetworkElm, src, sg_netcard_t);
+ if (hierarchy_ == SURF_ROUTING_BASE) {
+ NetCard *tmp_src = xbt_dynar_get_as(vertices_, src, sg_netcard_t);
tmp_src->setId(src);
- NetCard *tmp_dst = xbt_dynar_get_as(p_indexNetworkElm, dst, sg_netcard_t);
+ NetCard *tmp_dst = xbt_dynar_get_as(vertices_, dst, sg_netcard_t);
tmp_dst->setId(dst);
onelink = new Onelink(link, tmp_src, tmp_dst);
- } else if (p_hierarchy == SURF_ROUTING_RECURSIVE)
+ } else if (hierarchy_ == SURF_ROUTING_RECURSIVE)
onelink = new Onelink(link, route->gw_src, route->gw_dst);
else
onelink = new Onelink(link, NULL, NULL);
dst->getId());
/* set utils vars */
- size_t table_size = xbt_dynar_length(p_indexNetworkElm);
+ size_t table_size = xbt_dynar_length(vertices_);
sg_platf_route_cbarg_t e_route = NULL;
void *link;
}
}
-void AsFull::parseASroute(sg_platf_route_cbarg_t route){
- parseRoute(route);
-}
-
static int full_pointer_resource_cmp(const void *a, const void *b)
{
return a != b;
xbt_assert(src_net_elm, "Network elements %s not found", src);
xbt_assert(dst_net_elm, "Network elements %s not found", dst);
- size_t table_size = xbt_dynar_length(p_indexNetworkElm);
+ size_t table_size = xbt_dynar_length(vertices_);
xbt_assert(!xbt_dynar_is_empty(route->link_list),
"Invalid count of links, must be greater than zero (%s,%s)",
XBT_DEBUG("ASroute goes from \"%s\" to \"%s\"",
route->gw_src->getName(), route->gw_dst->getName());
}
- TO_ROUTE_FULL(src_net_elm->getId(), dst_net_elm->getId()) = newExtendedRoute(p_hierarchy, route, 1);
+ TO_ROUTE_FULL(src_net_elm->getId(), dst_net_elm->getId()) = newExtendedRoute(hierarchy_, route, 1);
xbt_dynar_shrink(TO_ROUTE_FULL(src_net_elm->getId(), dst_net_elm->getId())->link_list, 0);
}
else
XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"",
dst, route->gw_src->getName(), src, route->gw_dst->getName());
- TO_ROUTE_FULL(dst_net_elm->getId(), src_net_elm->getId()) = newExtendedRoute(p_hierarchy, route, 0);
+ TO_ROUTE_FULL(dst_net_elm->getId(), src_net_elm->getId()) = newExtendedRoute(hierarchy_, route, 0);
xbt_dynar_shrink(TO_ROUTE_FULL(dst_net_elm->getId(), src_net_elm->getId())->link_list, 0);
}
}