SimGrid  3.18
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).

Examples:
examples/s4u/platform-properties/s4u-platform-properties.cpp.

#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...
 
const std::stringgetName () 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...
 
NetZonegetFather ()
 
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)
 
virtual void addRoute (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)
 
virtual void addBypassRoute (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)=0
 

Static Public Attributes

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
 

Protected Member Functions

 NetZone (NetZone *father, std::string name)
 
virtual ~NetZone ()
 
unsigned int getTableSize ()
 
std::vector< kernel::routing::NetPoint * > getVertices ()
 

Constructor & Destructor Documentation

◆ NetZone()

simgrid::s4u::NetZone::NetZone ( NetZone father,
std::string  name 
)
explicitprotected

◆ ~NetZone()

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

Member Function Documentation

◆ seal()

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

◆ getName()

const std::string& simgrid::s4u::NetZone::getName ( ) const
inline

Retrieves the name of that netzone as a C++ string.

◆ getCname()

const char * simgrid::s4u::NetZone::getCname ( ) const

Retrieves the name of that netzone as a C string.

◆ getFather()

NetZone * simgrid::s4u::NetZone::getFather ( )

◆ getChildren()

std::vector< NetZone * > * simgrid::s4u::NetZone::getChildren ( )

◆ getHosts()

void simgrid::s4u::NetZone::getHosts ( std::vector< s4u::Host *> *  whereto)

◆ getProperties()

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

Get the properties assigned to a host.

◆ getProperty()

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

Retrieve the property value (or nullptr if not set)

Examples:
examples/s4u/platform-properties/s4u-platform-properties.cpp.

◆ setProperty()

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

◆ addComponent()

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

◆ addRoute()

void simgrid::s4u::NetZone::addRoute ( 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 
)
virtual

◆ addBypassRoute()

virtual void simgrid::s4u::NetZone::addBypassRoute ( 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 
)
pure virtual

◆ getTableSize()

unsigned int simgrid::s4u::NetZone::getTableSize ( )
inlineprotected

◆ getVertices()

std::vector<kernel::routing::NetPoint*> simgrid::s4u::NetZone::getVertices ( )
inlineprotected

Member Data Documentation

◆ onRouteCreation

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

◆ onCreation

simgrid::xbt::signal< void(NetZone &)> simgrid::s4u::NetZone::onCreation
static

◆ onSeal

simgrid::xbt::signal< void(NetZone &)> simgrid::s4u::NetZone::onSeal
static

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