NetZone with an explicit routing computed on need with Dijsktra.
The path between components is computed each time you request it, using the Dijkstra algorithm. A cache can be used to reduce the computation.
This result in rather small platform file, very fast initialization, and very low memory requirements, but somehow long path resolution times.
|
| | DijkstraZone (NetZone *father, std::string name, bool cached) |
| |
| void | seal () override |
| | Seal your netzone once you're done adding content, and before routing stuff through it. More...
|
| |
| | ~DijkstraZone () override |
| |
| xbt_node_t | routeGraphNewNode (int id, int graph_id) |
| |
| xbt_node_t | nodeMapSearch (int id) |
| |
| void | newRoute (int src_id, int dst_id, sg_platf_route_cbarg_t e_route) |
| |
| void | getLocalRoute (NetPoint *src, NetPoint *dst, sg_platf_route_cbarg_t route, double *lat) override |
| | Probe the routing path between two points that are local to the called NetZone. More...
|
| |
| void | addRoute (NetPoint *src, NetPoint *dst, NetPoint *gw_src, NetPoint *gw_dst, std::vector< simgrid::surf::LinkImpl *> &link_list, bool symmetrical) override |
| |
| | RoutedZone (NetZone *father, std::string name) |
| |
| void | getGraph (xbt_graph_t graph, std::map< std::string, xbt_node_t > *nodes, std::map< std::string, xbt_edge_t > *edges) override |
| |
| virtual sg_platf_route_cbarg_t | newExtendedRoute (RoutingMode hierarchy, NetPoint *src, NetPoint *dst, NetPoint *gw_src, NetPoint *gw_dst, std::vector< simgrid::surf::LinkImpl *> &link_list, bool symmetrical, bool change_order) |
| |
| simgrid::s4u::Host * | createHost (const char *name, std::vector< double > *speedPerPstate, int coreAmount, std::map< std::string, std::string > *props) |
| | Make an host within that NetZone. More...
|
| |
| void | addBypassRoute (NetPoint *src, NetPoint *dst, NetPoint *gw_src, NetPoint *gw_dst, std::vector< simgrid::surf::LinkImpl *> &link_list, bool symmetrical) override |
| | Creates a new route in this NetZone. More...
|
| |
| const std::string & | getName () const |
| | Retrieves the name of that netzone as a C++ string. More...
|
| |
| const char * | getCname () const |
| | Retrieves the name of that netzone as a C string. More...
|
| |
| NetZone * | getFather () |
| |
| std::vector< NetZone * > * | getChildren () |
| |
| void | getHosts (std::vector< s4u::Host *> *whereto) |
| |
| std::unordered_map< std::string, std::string > * | getProperties () |
| | Get the properties assigned to a host. More...
|
| |
| const char * | getProperty (const char *key) |
| | Retrieve the property value (or nullptr if not set) More...
|
| |
| void | setProperty (const char *key, const char *value) |
| |
| virtual int | addComponent (kernel::routing::NetPoint *elm) |
| |
|
| enum | RoutingMode { RoutingMode::unset = 0,
RoutingMode::base,
RoutingMode::recursive
} |
| |
| static void | getGlobalRoute (routing::NetPoint *src, routing::NetPoint *dst, std::vector< surf::LinkImpl *> &links, double *latency) |
| |
| static simgrid::xbt::signal< void(bool symmetrical, kernel::routing::NetPoint *src, kernel::routing::NetPoint *dst, kernel::routing::NetPoint *gw_src, kernel::routing::NetPoint *gw_dst, std::vector< surf::LinkImpl * > &link_list)> | onRouteCreation |
| |
| static simgrid::xbt::signal< void(NetZone &)> | onCreation |
| |
| static simgrid::xbt::signal< void(NetZone &)> | onSeal |
| |
| void | getRouteCheckParams (NetPoint *src, NetPoint *dst) |
| |
| void | addRouteCheckParams (kernel::routing::NetPoint *src, kernel::routing::NetPoint *dst, kernel::routing::NetPoint *gw_src, kernel::routing::NetPoint *gw_dst, std::vector< simgrid::surf::LinkImpl *> &link_list, bool symmetrical) |
| |
| | NetZoneImpl (NetZone *father, std::string name) |
| |
| virtual | ~NetZoneImpl () |
| |
| bool | getBypassRoute (routing::NetPoint *src, routing::NetPoint *dst, std::vector< surf::LinkImpl *> &links, double *latency) |
| | retrieves the list of all routes of size 1 (of type src x dst x Link) More...
|
| |
| | NetZone (NetZone *father, std::string name) |
| |
| virtual | ~NetZone () |
| |
| unsigned int | getTableSize () |
| |
| std::vector< kernel::routing::NetPoint * > | getVertices () |
| |