/*
* One link routing list
*/
-typedef struct {
+typedef struct s_onelink s_onelink_t, *onelink_t;
+struct s_onelink{
char *src;
char *dst;
void *link_ptr;
-}s_onelink, *s_onelink_t;
+};
+
/**
* Routing logic
struct s_routing_component* routing_father;
xbt_dict_t routing_sons;
route_extended_t (*get_route)(routing_component_t rc, const char* src, const char* dst);
- xbt_dict_t (*get_onelink_routes)(void);
+ xbt_dynar_t (*get_onelink_routes)(routing_component_t rc);
int (*is_router)(const char *name);
route_extended_t (*get_bypass_route)(routing_component_t rc, const char* src, const char* dst);
void (*finalize)(routing_component_t rc);
void *loopback;
size_t size_of_link;
xbt_dynar_t (*get_route)(const char* src, const char* dst);
- xbt_dict_t (*get_onelink_routes)(void);
+ xbt_dynar_t (*get_onelink_routes)(void);
int (*is_router)(const char *name);
void (*finalize)(void);
xbt_dynar_t last_route;
/* ************************************************************************** */
/* *************** GENERIC BUSINESS METHODS (declarations) ****************** */
-static xbt_dict_t generic_get_onelink_routes (void);
+static xbt_dynar_t generic_get_onelink_routes (routing_component_t rc);
static int generic_is_router (const char *name);
static route_extended_t generic_get_bypassroute(routing_component_t rc, const char* src, const char* dst);
xbt_free(global_routing);
}
-static xbt_dict_t get_onelink_routes(void)
+static xbt_dynar_t get_onelink_routes(void)
{
xbt_die("global \"get_onelink_routes\" function not implemented yet");
}
} s_routing_component_full_t,*routing_component_full_t;
/* Business methods */
-static xbt_dict_t full_get_onelink_routes(void)
+static xbt_dynar_t full_get_onelink_routes(routing_component_t rc)
{
xbt_die("\"full_get_onelink_routes\" function not implemented yet");
}
} s_routing_component_floyd_t,*routing_component_floyd_t;
/* Business methods */
-static xbt_dict_t floyd_get_onelink_routes(void)
+static xbt_dynar_t floyd_get_onelink_routes(routing_component_t rc)
{
xbt_die("\"floyd_get_onelink_routes\" function not implemented yet");
}
}
/* Business methods */
-static xbt_dict_t dijkstra_get_onelink_routes(void)
+static xbt_dynar_t dijkstra_get_onelink_routes(routing_component_t rc)
{
xbt_die("\"dijkstra_get_onelink_routes\" function not implemented yet");
}
return xbt_strdup(result_result);
}
-static xbt_dict_t rulebased_get_onelink_routes(void)
+static xbt_dynar_t rulebased_get_onelink_routes(routing_component_t rc)
{
xbt_die("\"rulebased_get_onelink_routes\" function not implemented yet");
}
} s_routing_component_none_t,*routing_component_none_t;
/* Business methods */
-static xbt_dict_t none_get_onelink_routes(void){
+static xbt_dynar_t none_get_onelink_routes(routing_component_t rc){
return NULL;
}
static int none_is_router(const char *name){
/* ************************************************************************** */
/* *********************** GENERIC BUSINESS METHODS ************************* */
-static xbt_dict_t generic_get_onelink_routes (void)
+static xbt_dynar_t generic_get_onelink_routes (routing_component_t rc)
{
xbt_die("\"generic_get_onelink_routes\" not implemented yet");
}