NetZone with an explicit routing computed at initialization with Floyd-Warshal.
The path between components is computed at creation time from every one-hop links, using the Floyd-Warshal algorithm.
This result in rather small platform file, slow initialization time, and intermediate memory requirements (somewhere between the one ofDijkstraZone} and the one ofFullZone}).
|
| FloydZone (NetZone *father, const char *name) |
|
| ~FloydZone () override |
|
void | getLocalRoute (NetPoint *src, NetPoint *dst, sg_platf_route_cbarg_t into, double *latency) override |
| Probe the routing path between two points that are local to the called NetZone. More...
|
|
void | addRoute (sg_platf_route_cbarg_t route) override |
|
void | seal () override |
| Seal your netzone once you're done adding content, and before routing stuff through it. More...
|
|
| RoutedZone (NetZone *father, const char *name) |
|
void | getGraph (xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override |
|
virtual sg_platf_route_cbarg_t | newExtendedRoute (RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, bool change_order) |
|
simgrid::s4u::Host * | createHost (const char *name, std::vector< double > *speedPerPstate, int coreAmount, std::unordered_map< std::string, std::string > *props) |
| Make an host within that NetZone. More...
|
|
void | addBypassRoute (sg_platf_route_cbarg_t e_route) override |
| Creates a new route in this NetZone. More...
|
|
char * | name () |
|
NetZone * | father () |
|
std::vector< NetZone * > * | children () |
|
void | hosts (std::vector< s4u::Host *> *whereto) |
|
std::unordered_map< std::string, std::string > * | properties () |
| Get the properties assigned to a host. More...
|
|
const char * | property (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) |
|
RoutingMode | hierarchy_ = RoutingMode::unset |
|
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 (sg_platf_route_cbarg_t route) |
|
| NetZoneImpl (NetZone *father, const char *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, const char *name) |
|
virtual | ~NetZone () |
|
std::vector< kernel::routing::NetPoint * > | vertices_ |
|