INET Framework for OMNeT++/OMNEST
inet::NetworkConfiguratorBase::Topology Class Reference

Represents the network topology. More...

#include <NetworkConfiguratorBase.h>

Inheritance diagram for inet::NetworkConfiguratorBase::Topology:
inet::Topology inet::IPv4NetworkConfigurator::Topology

Public Member Functions

virtual ~Topology ()
 Destructor. More...
 
- Public Member Functions inherited from inet::Topology
 Topology (const char *name=nullptr)
 Constructor. More...
 
 Topology (const Topology &topo)
 Copy constructor. More...
 
Topology & operator= (const Topology &topo)
 Assignment operator. More...
 
virtual Topology * dup () const override
 Creates and returns an exact copy of this object. More...
 
virtual std::string info () const override
 Produces a one-line description of the object's contents. More...
 
virtual void parsimPack (cCommBuffer *buffer) const override
 Serializes the object into an MPI send buffer. More...
 
virtual void parsimUnpack (cCommBuffer *buffer) override
 Deserializes the object from an MPI receive buffer Used by the simulation kernel for parallel execution. More...
 
void extractFromNetwork (bool(*selfunc)(cModule *, void *), void *userdata=nullptr)
 Extracts model topology by a user-defined criteria. More...
 
void extractFromNetwork (Predicate *predicate)
 The type safe, object-oriented equivalent of extractFromNetwork(selfunc, userdata). More...
 
void extractByModulePath (const std::vector< std::string > &fullPathPatterns)
 Extracts model topology by module full path. More...
 
void extractByNedTypeName (const std::vector< std::string > &nedTypeNames)
 Extracts model topology by the fully qualified NED type name of the modules. More...
 
void extractByProperty (const char *propertyName, const char *value=nullptr)
 Extracts model topology by a module property. More...
 
void extractByParameter (const char *paramName, const char *paramValue=nullptr)
 Extracts model topology by a module parameter. More...
 
void clear ()
 Deletes the topology stored in the object. More...
 
int addNode (Node *node)
 Adds the given node to the graph. More...
 
void deleteNode (Node *node)
 Removes the given node from the graph, together with all of its links. More...
 
void addLink (Link *link, Node *srcNode, Node *destNode)
 TODO Note: also serves as reconnectLink() More...
 
void addLink (Link *link, cGate *srcGate, cGate *destGate)
 TODO Note: also serves as reconnectLink() More...
 
void deleteLink (Link *link)
 Removes the given link from the graph. More...
 
int getNumNodes () const
 Returns the number of nodes in the graph. More...
 
Node * getNode (int i)
 Returns pointer to the ith node in the graph. More...
 
Node * getNodeFor (cModule *mod)
 Returns the graph node which corresponds to the given module in the network. More...
 
void calculateUnweightedSingleShortestPathsTo (Node *target)
 Apply the Dijkstra algorithm to find all shortest paths to the given graph node. More...
 
void calculateWeightedSingleShortestPathsTo (Node *target)
 Apply the Dijkstra algorithm to find all shortest paths to the given graph node. More...
 
Node * getTargetNode () const
 Returns the node that was passed to the most recently called shortest path finding function. More...
 

Public Attributes

std::vector< LinkInfo * > linkInfos
 
std::map< InterfaceEntry *, InterfaceInfo * > interfaceInfos
 

Protected Member Functions

virtual Node * createNode (cModule *module) override
 Node factory. More...
 
virtual Link * createLink () override
 Link factory. More...
 
- Protected Member Functions inherited from inet::Topology
void unlinkFromSourceNode (Link *link)
 
void unlinkFromDestNode (Link *link)
 

Additional Inherited Members

- Static Protected Member Functions inherited from inet::Topology
static bool lessByModuleId (Node *a, Node *b)
 
static bool isModuleIdLess (Node *a, int moduleId)
 
- Protected Attributes inherited from inet::Topology
std::vector< Node * > nodes
 
Node * target
 

Detailed Description

Represents the network topology.

Constructor & Destructor Documentation

virtual inet::NetworkConfiguratorBase::Topology::~Topology ( )
inlinevirtual

Destructor.

Reimplemented from inet::Topology.

121 { for (auto & linkInfo : linkInfos) delete linkInfo; }
std::vector< LinkInfo * > linkInfos
Definition: NetworkConfiguratorBase.h:117

Member Function Documentation

virtual Link* inet::NetworkConfiguratorBase::Topology::createLink ( )
inlineoverrideprotectedvirtual

Link factory.

Reimplemented from inet::Topology.

125 { return new NetworkConfiguratorBase::Link(); }
virtual Node* inet::NetworkConfiguratorBase::Topology::createNode ( cModule *  module)
inlineoverrideprotectedvirtual

Node factory.

Reimplemented from inet::Topology.

Reimplemented in inet::IPv4NetworkConfigurator::Topology.

124 { return new NetworkConfiguratorBase::Node(module); }

Member Data Documentation


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