SimGrid  3.14.159
Versatile Simulation of Distributed Systems
simgrid::s4u::NetZone Class Referenceabstract

Detailed Description

Networking Zones.

A netzone is a network container, in charge of routing information between elements (hosts) and to the nearby netzones. In SimGrid, there is a hierarchy of netzones, with a unique root zone (that you can retrieve from the s4u::Engine).

#include <NetZone.hpp>

Inheritance diagram for simgrid::s4u::NetZone:
simgrid::kernel::routing::NetZoneImpl simgrid::kernel::routing::ClusterZone simgrid::kernel::routing::EmptyZone simgrid::kernel::routing::RoutedZone simgrid::kernel::routing::DragonflyZone simgrid::kernel::routing::FatTreeZone simgrid::kernel::routing::TorusZone simgrid::kernel::routing::VivaldiZone simgrid::kernel::routing::DijkstraZone simgrid::kernel::routing::FloydZone simgrid::kernel::routing::FullZone

Public Member Functions

virtual void seal ()
 Seal your netzone once you're done adding content, and before routing stuff through it. More...
 
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)
 
virtual void addRoute (sg_platf_route_cbarg_t route)
 
virtual void addBypassRoute (sg_platf_route_cbarg_t e_route)=0
 

Static Public Attributes

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

 NetZone (NetZone *father, const char *name)
 
virtual ~NetZone ()
 

Protected Attributes

std::vector< kernel::routing::NetCard * > vertices_
 

Constructor & Destructor Documentation

◆ NetZone()

simgrid::s4u::NetZone::NetZone ( NetZone father,
const char *  name 
)
explicitprotected

◆ ~NetZone()

simgrid::s4u::NetZone::~NetZone ( )
protectedvirtual

Member Function Documentation

◆ seal()

void simgrid::s4u::NetZone::seal ( )
virtual

◆ name()

char * simgrid::s4u::NetZone::name ( )

◆ father()

NetZone * simgrid::s4u::NetZone::father ( )

◆ children()

xbt_dict_t simgrid::s4u::NetZone::children ( )

◆ hosts()

xbt_dynar_t simgrid::s4u::NetZone::hosts ( )

◆ properties()

std::unordered_map< std::string, std::string > * simgrid::s4u::NetZone::properties ( )

Get the properties assigned to a host.

◆ property()

const char * simgrid::s4u::NetZone::property ( const char *  key)

Retrieve the property value (or nullptr if not set)

◆ setProperty()

void simgrid::s4u::NetZone::setProperty ( const char *  key,
const char *  value 
)

◆ addComponent()

int simgrid::s4u::NetZone::addComponent ( kernel::routing::NetCard elm)
virtual

◆ addRoute()

◆ addBypassRoute()

virtual void simgrid::s4u::NetZone::addBypassRoute ( sg_platf_route_cbarg_t  e_route)
pure virtual

Member Data Documentation

◆ onRouteCreation

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)> simgrid::s4u::NetZone::onRouteCreation
static

◆ vertices_

std::vector<kernel::routing::NetCard*> simgrid::s4u::NetZone::vertices_
protected

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