static double vivaldi_get_link_latency (AS_t rc,const char *src, const char *dst, route_extended_t e_route)
{
- if(get_network_element_type(src) == SURF_NETWORK_ELEMENT_AS) {
+ if(routing_get_network_element_type(src) == SURF_NETWORK_ELEMENT_AS) {
int need_to_clean = e_route?0:1;
double latency;
- e_route = e_route?e_route:(*(rc->get_route)) (rc, src, dst);
+ e_route = e_route ? e_route : rc->get_route(rc, src, dst);
latency = base_vivaldi_get_latency(e_route->src_gateway,e_route->dst_gateway);
if(need_to_clean) generic_free_extended_route(e_route);
return latency;
/* Creation routing model functions */
AS_t model_vivaldi_create(void)
{
- AS_t new_component = model_none_create();
+ AS_t new_component = model_rulebased_create();
new_component->get_route = vivaldi_get_route;
new_component->get_latency = vivaldi_get_link_latency;
return new_component;