The base class for all link dimensionsers and re-dimensioners. More...
#include <CjNetworkDimensioner.hh>
Public Types | |
typedef CjNetworkDimensioner_ctor_va_t | ctor_va_t |
typedef CjNetworkDimensioner_calcw_va_t | calcw_va_t |
Public Member Functions | |
CjNetworkDimensioner (const ctor_va_t &va) | |
Construct a CjNetworkDimensioner base by copying settings from the CjNetworkDimensioner_ctor_va_t object. | |
virtual CjNLTopology::WT | calcWeight (calcw_va_t &va, unsigned int node_from, unsigned int node_to)=0 |
Returns the new link weight of the link from node node_from to node node_to. | |
virtual std::string | getName () const =0 |
Returns the free-form name of this class. | |
virtual std::string | getProperty (const std::string &) const =0 |
Returns a property of this class. | |
Static Public Member Functions | |
static std::string | getName_static () |
Returns the free-form name of this class (static version). | |
static std::string | getProperty_static (const std::string &) |
Returns a property of this class (static version). | |
Protected Attributes | |
bool | m_redim |
if true this is a redimensioner, otherwise it is a dimensioner | |
const CjNLTopology * | m_top |
A pointer to the topology with which this process is associated. | |
std::string | m_parent_name |
The base class for all link dimensionsers and re-dimensioners.
Additional simulator functionality in the form of link dimensionsers and re-dimensioners can be added by extending this class and overriding the calcWeight(...) method. All simulation-specific constructor data should be supplied through CjNetworkDimensioner_ctor_va_t (such as the topology object with which this dimensioner is to associate, RNG during construction)
and instance-specific configuration such as dimensioner parameters to use etc.. should be specified in the free-form string argument of the constructor.