SimGrid  3.14.159
Versatile Simulation of Distributed Systems
simgrid::kernel::routing::FullZone Class Reference

Detailed Description

NetZone with an explicit routing provided by the user.

The full communication matrix is provided at creation, so this model has the highest expressive power and the lowest computational requirements, but also the highest memory requirements (both in platform file and in memory).

#include <FullZone.hpp>

Inheritance diagram for simgrid::kernel::routing::FullZone:
simgrid::kernel::routing::RoutedZone simgrid::kernel::routing::NetZoneImpl simgrid::s4u::NetZone

Public Member Functions

 FullZone (NetZone *father, const char *name)
 
void seal () override
 Seal your netzone once you're done adding content, and before routing stuff through it. More...
 
 ~FullZone () override
 
void getLocalRoute (NetCard *src, NetCard *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
 
- Public Member Functions inherited from simgrid::kernel::routing::RoutedZone
 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, int change_order)
 
- Public Member Functions inherited from simgrid::kernel::routing::NetZoneImpl
simgrid::s4u::HostcreateHost (const char *name, std::vector< double > *speedPerPstate, int coreAmount)
 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...
 
- Public Member Functions inherited from simgrid::s4u::NetZone
char * name ()
 
NetZonefather ()
 
xbt_dict_t children ()
 
xbt_dynar_t hosts ()
 
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::NetCard *elm)
 

Public Attributes

sg_platf_route_cbarg_troutingTable_ = nullptr
 
- Public Attributes inherited from simgrid::kernel::routing::NetZoneImpl
RoutingMode hierarchy_ = RoutingMode::unset
 

Additional Inherited Members

- Public Types inherited from simgrid::kernel::routing::NetZoneImpl
enum  RoutingMode { RoutingMode::unset = 0, RoutingMode::base, RoutingMode::recursive }
 
- Static Public Member Functions inherited from simgrid::kernel::routing::NetZoneImpl
static void getGlobalRoute (routing::NetCard *src, routing::NetCard *dst, std::vector< surf::Link *> *links, double *latency)
 
- Static Public Attributes inherited from simgrid::s4u::NetZone
static simgrid::xbt::signal< void(bool symmetrical, kernel::routing::NetCard *src, kernel::routing::NetCard *dst, kernel::routing::NetCard *gw_src, kernel::routing::NetCard *gw_dst, std::vector< Link * > *link_list)> onRouteCreation
 
- Protected Member Functions inherited from simgrid::kernel::routing::RoutedZone
void getRouteCheckParams (NetCard *src, NetCard *dst)
 
void addRouteCheckParams (sg_platf_route_cbarg_t route)
 
- Protected Member Functions inherited from simgrid::kernel::routing::NetZoneImpl
 NetZoneImpl (NetZone *father, const char *name)
 
virtual ~NetZoneImpl ()
 
bool getBypassRoute (routing::NetCard *src, routing::NetCard *dst, std::vector< surf::Link *> *links, double *latency)
 retrieves the list of all routes of size 1 (of type src x dst x Link) More...
 
- Protected Member Functions inherited from simgrid::s4u::NetZone
 NetZone (NetZone *father, const char *name)
 
virtual ~NetZone ()
 
- Protected Attributes inherited from simgrid::s4u::NetZone
std::vector< kernel::routing::NetCard * > vertices_
 

Constructor & Destructor Documentation

◆ FullZone()

simgrid::kernel::routing::FullZone::FullZone ( NetZone father,
const char *  name 
)
explicit

◆ ~FullZone()

simgrid::kernel::routing::FullZone::~FullZone ( )
override

Member Function Documentation

◆ seal()

void simgrid::kernel::routing::FullZone::seal ( )
overridevirtual

Seal your netzone once you're done adding content, and before routing stuff through it.

Reimplemented from simgrid::s4u::NetZone.

◆ getLocalRoute()

void simgrid::kernel::routing::FullZone::getLocalRoute ( NetCard src,
NetCard dst,
sg_platf_route_cbarg_t  into,
double *  latency 
)
overridevirtual

Probe the routing path between two points that are local to the called NetZone.

Parameters
srcwhere from
dstwhere to
intoContainer into which the traversed links and gateway informations should be pushed
latencyAccumulator in which the latencies should be added (caller must set it to 0)

Implements simgrid::kernel::routing::NetZoneImpl.

◆ addRoute()

void simgrid::kernel::routing::FullZone::addRoute ( sg_platf_route_cbarg_t  route)
overridevirtual

Reimplemented from simgrid::s4u::NetZone.

Member Data Documentation

◆ routingTable_

sg_platf_route_cbarg_t* simgrid::kernel::routing::FullZone::routingTable_ = nullptr

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