/* ************************************************************************** */
/* *************** GENERIC BUSINESS METHODS (declarations) ****************** */
+static xbt_dict_t generic_get_onelink_routes (void);
+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 void get_onelink_routes(void)
+static xbt_dict_t get_onelink_routes(void)
{
- xbt_die("get_onelink_routes function not implemented yet!!!");
+ xbt_die("global \"get_onelink_routes\" function not implemented yet");
}
static int is_router(const char *name)
{
- xbt_die("is_router function not implemented yet!!!");
+ xbt_die("global \"is_router\" function not implemented yet");
}
/**
global_routing->where_network_elements = xbt_dict_new();
global_routing->root = NULL;
global_routing->get_route = get_route;
+ global_routing->get_onelink_routes = get_onelink_routes;
+ global_routing->is_router = is_router;
global_routing->finalize = finalize;
global_routing->loopback = loopback;
global_routing->size_of_link = size_of_links;
} s_routing_component_full_t,*routing_component_full_t;
/* Business methods */
+static xbt_dict_t full_get_onelink_routes(void)
+{
+ xbt_die("\"full_get_onelink_routes\" function not implemented yet");
+}
+
+static int full_is_router(const char *name)
+{
+ xbt_die("\"full_is_router\" function not implemented yet");
+}
static route_extended_t full_get_route(routing_component_t rc, const char* src,const char* dst) {
xbt_assert1(rc&&src&&dst, "Invalid params for \"get_route\" function at AS \"%s\"",rc->name);
new_component->generic_routing.set_ASroute = generic_set_ASroute;
new_component->generic_routing.set_bypassroute = generic_set_bypassroute;
new_component->generic_routing.get_route = full_get_route;
+ new_component->generic_routing.get_onelink_routes = full_get_onelink_routes;
+ new_component->generic_routing.is_router = full_is_router;
new_component->generic_routing.get_bypass_route = generic_get_bypassroute;
new_component->generic_routing.finalize = full_finalize;
new_component->to_index = xbt_dict_new();
} s_routing_component_floyd_t,*routing_component_floyd_t;
/* Business methods */
+static xbt_dict_t floyd_get_onelink_routes(void)
+{
+ xbt_die("\"floyd_get_onelink_routes\" function not implemented yet");
+}
+
+static int floyd_is_router(const char *name)
+{
+ xbt_die("\"floyd_is_router\" function not implemented yet");
+}
static route_extended_t floyd_get_route(routing_component_t rc, const char* src,const char* dst) {
xbt_assert1(rc&&src&&dst, "Invalid params for \"get_route\" function at AS \"%s\"",rc->name);
new_component->generic_routing.set_ASroute = generic_set_ASroute;
new_component->generic_routing.set_bypassroute = generic_set_bypassroute;
new_component->generic_routing.get_route = floyd_get_route;
+ new_component->generic_routing.get_onelink_routes = floyd_get_onelink_routes;
+ new_component->generic_routing.is_router = floyd_is_router;
new_component->generic_routing.get_bypass_route = generic_get_bypassroute;
new_component->generic_routing.finalize = floyd_finalize;
new_component->to_index = xbt_dict_new();
}
/* Business methods */
+static xbt_dict_t dijkstra_get_onelink_routes(void)
+{
+ xbt_die("\"dijkstra_get_onelink_routes\" function not implemented yet");
+}
+
+static int dijkstra_is_router(const char *name)
+{
+ xbt_die("\"dijkstra_is_router\" function not implemented yet");
+}
static route_extended_t dijkstra_get_route(routing_component_t rc, const char* src,const char* dst) {
xbt_assert1(rc&&src&&dst, "Invalid params for \"get_route\" function at AS \"%s\"",rc->name);
new_component->generic_routing.set_ASroute = generic_set_ASroute;
new_component->generic_routing.set_bypassroute = generic_set_bypassroute;
new_component->generic_routing.get_route = dijkstra_get_route;
+ new_component->generic_routing.get_onelink_routes = dijkstra_get_onelink_routes;
+ new_component->generic_routing.is_router = dijkstra_is_router;
new_component->generic_routing.get_bypass_route = generic_get_bypassroute;
new_component->generic_routing.finalize = dijkstra_finalize;
new_component->cached = cached;
return xbt_strdup(result_result);
}
+static xbt_dict_t rulebased_get_onelink_routes(void)
+{
+ xbt_die("\"rulebased_get_onelink_routes\" function not implemented yet");
+}
+
+static int rulebased_is_router(const char *name)
+{
+ xbt_die("\"rulebased_is_router\" function not implemented yet");
+}
+
/* Business methods */
static route_extended_t rulebased_get_route(routing_component_t rc, const char* src,const char* dst) {
xbt_assert1(rc&&src&&dst, "Invalid params for \"get_route\" function at AS \"%s\"",rc->name);
new_component->generic_routing.set_route = model_rulebased_set_route;
new_component->generic_routing.set_ASroute = model_rulebased_set_ASroute;
new_component->generic_routing.set_bypassroute = model_rulebased_set_bypassroute;
+ new_component->generic_routing.get_onelink_routes = rulebased_get_onelink_routes;
+ new_component->generic_routing.is_router = rulebased_is_router;
new_component->generic_routing.get_route = rulebased_get_route;
new_component->generic_routing.get_bypass_route = NULL; //rulebased_get_bypass_route;
new_component->generic_routing.finalize = rulebased_finalize;
} s_routing_component_none_t,*routing_component_none_t;
/* Business methods */
+static xbt_dict_t none_get_onelink_routes(void){
+ return NULL;
+}
+static int none_is_router(const char *name){
+ return -1;
+}
static route_extended_t none_get_route(routing_component_t rc, const char* src,const char* dst){
return NULL;
}
new_component->generic_routing.set_ASroute = NULL;
new_component->generic_routing.set_bypassroute = NULL;
new_component->generic_routing.get_route = none_get_route;
+ new_component->generic_routing.get_onelink_routes = none_get_onelink_routes;
+ new_component->generic_routing.is_router = none_is_router;
new_component->generic_routing.get_bypass_route = none_get_bypass_route;
new_component->generic_routing.finalize = none_finalize;
return new_component;
/* ************************************************************************** */
/* *********************** GENERIC BUSINESS METHODS ************************* */
+static xbt_dict_t generic_get_onelink_routes (void)
+{
+ xbt_die("\"generic_get_onelink_routes\" not implemented yet");
+}
+
+static int generic_is_router (const char *name)
+{
+ xbt_die("\"generic_is_router\" not implemented yet");
+}
+
static route_extended_t generic_get_bypassroute(routing_component_t rc, const char* src, const char* dst) {
model_type_t modeltype = rc->routing;
xbt_dict_t dict_bypassRoutes;