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...
 
Topologyoperator= (const Topology &topo)
 Assignment operator. More...
 
virtual Topologydup () 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...
 
NodegetNode (int i)
 Returns pointer to the ith node in the graph. More...
 
NodegetNodeFor (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...
 
NodegetTargetNode () 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 NodecreateNode (cModule *module) override
 Node factory. More...
 
virtual LinkcreateLink () 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
 
Nodetarget
 

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: