SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::surf::RoutingPlatf Class Reference

The class representing a whole routing platform. More...

#include <surf_routing.hpp>

Public Member Functions

 RoutingPlatf (Link *loopback)
 
 ~RoutingPlatf ()
 
xbt_dynar_t getOneLinkRoutes (void)
 
void getRouteAndLatency (NetCard *src, NetCard *dst, std::vector< Link * > *links, double *latency)
 Find a route between hosts. More...
 

Public Attributes

AsImplroot_ = nullptr
 
Linkloopback_
 

Detailed Description

The class representing a whole routing platform.

Constructor & Destructor Documentation

simgrid::surf::RoutingPlatf::RoutingPlatf ( Link loopback)
simgrid::surf::RoutingPlatf::~RoutingPlatf ( )

Member Function Documentation

xbt_dynar_t simgrid::surf::RoutingPlatf::getOneLinkRoutes ( void  )
void simgrid::surf::RoutingPlatf::getRouteAndLatency ( NetCard src,
NetCard dst,
std::vector< Link * > *  route,
double *  latency 
)

Find a route between hosts.

Parameters
srcthe network_element_t for src host
dstthe network_element_t for dst host
routewhere to store the list of links. If *route=NULL, create a short lived dynar. Else, fill the provided dynar
latencywhere to store the latency experienced on the path (or NULL if not interested) It is the caller responsability to initialize latency to 0 (we add to provided route)
Precondition
route!=NULL

walk through the routing components tree and find a route between hosts by calling each "get_route" function in each routing component.

Member Data Documentation

AsImpl* simgrid::surf::RoutingPlatf::root_ = nullptr
Link* simgrid::surf::RoutingPlatf::loopback_

The documentation for this class was generated from the following files: