INET Framework for OMNeT++/OMNEST
inet::visualizer::TransportConnectionVisualizerBase Class Referenceabstract

#include <TransportConnectionVisualizerBase.h>

Inheritance diagram for inet::visualizer::TransportConnectionVisualizerBase:
inet::visualizer::VisualizerBase inet::visualizer::TransportConnectionCanvasVisualizer inet::visualizer::TransportConnectionOsgVisualizer

Classes

class  TransportConnectionVisualization
 

Parameters

bool displayTransportConnections = false
 
NetworkNodeFilter sourceNodeFilter
 
PortFilter sourcePortFilter
 
NetworkNodeFilter destinationNodeFilter
 
PortFilter destinationPortFilter
 
const char * icon = nullptr
 
ColorSet iconColorSet
 
cFigure::Font labelFont
 
cFigure::Color labelColor
 
Placement placementHint
 
double placementPriority
 
std::vector< const TransportConnectionVisualization * > connectionVisualizations
 
virtual void initialize (int stage) override
 
virtual void handleParameterChange (const char *name) override
 
virtual void preDelete (cComponent *root) override
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual const TransportConnectionVisualizationcreateConnectionVisualization (cModule *source, cModule *destination, tcp::TcpConnection *tcpConnection) const =0
 
virtual void addConnectionVisualization (const TransportConnectionVisualization *connectionVisualization)
 
virtual void removeConnectionVisualization (const TransportConnectionVisualization *connectionVisualization)
 
virtual void removeAllConnectionVisualizations ()
 
virtual void receiveSignal (cComponent *source, simsignal_t signal, cObject *object, cObject *details) override
 

Additional Inherited Members

- Protected Member Functions inherited from inet::visualizer::VisualizerBase
virtual int numInitStages () const override
 
virtual Coord getPosition (const cModule *networkNode) const
 
virtual Coord getContactPosition (const cModule *networkNode, const Coord &fromPosition, const char *contactMode, double contactSpacing) const
 
virtual Quaternion getOrientation (const cModule *networkNode) const
 
virtual void mapChunks (const Ptr< const Chunk > &chunk, const std::function< void(const Ptr< const Chunk > &, int)> &thunk) const
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ addConnectionVisualization()

void inet::visualizer::TransportConnectionVisualizerBase::addConnectionVisualization ( const TransportConnectionVisualization connectionVisualization)
protectedvirtual

◆ createConnectionVisualization()

virtual const TransportConnectionVisualization* inet::visualizer::TransportConnectionVisualizerBase::createConnectionVisualization ( cModule *  source,
cModule *  destination,
tcp::TcpConnection tcpConnection 
) const
protectedpure virtual

◆ handleParameterChange()

void inet::visualizer::TransportConnectionVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
58 {
59  if (!hasGUI()) return;
60  if (name != nullptr) {
61  if (!strcmp(name, "sourceNodeFilter"))
62  sourceNodeFilter.setPattern(par("sourceNodeFilter"));
63  else if (!strcmp(name, "sourcePortFilter"))
64  sourcePortFilter.setPattern(par("sourcePortFilter"));
65  else if (!strcmp(name, "destinationNodeFilter"))
66  sourceNodeFilter.setPattern(par("destinationNodeFilter"));
67  else if (!strcmp(name, "destinationPortFilter"))
68  sourcePortFilter.setPattern(par("destinationPortFilter"));
70  }
71 }

◆ initialize()

void inet::visualizer::TransportConnectionVisualizerBase::initialize ( int  stage)
overrideprotectedvirtual

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::TransportConnectionCanvasVisualizer, and inet::visualizer::TransportConnectionOsgVisualizer.

37 {
39  if (!hasGUI()) return;
40  if (stage == INITSTAGE_LOCAL) {
41  displayTransportConnections = par("displayTransportConnections");
42  sourceNodeFilter.setPattern(par("sourceNodeFilter"));
43  sourcePortFilter.setPattern(par("sourcePortFilter"));
44  destinationNodeFilter.setPattern(par("destinationNodeFilter"));
45  destinationPortFilter.setPattern(par("destinationPortFilter"));
46  icon = par("icon");
47  iconColorSet.parseColors(par("iconColor"));
48  labelFont = cFigure::parseFont(par("labelFont"));
49  labelColor = cFigure::Color(par("labelColor"));
50  placementHint = parsePlacement(par("placementHint"));
51  placementPriority = par("placementPriority");
53  subscribe();
54  }
55 }

Referenced by inet::visualizer::TransportConnectionOsgVisualizer::initialize(), and inet::visualizer::TransportConnectionCanvasVisualizer::initialize().

◆ preDelete()

void inet::visualizer::TransportConnectionVisualizerBase::preDelete ( cComponent *  root)
overrideprotectedvirtual
29 {
31  unsubscribe();
33  }
34 }

◆ receiveSignal()

void inet::visualizer::TransportConnectionVisualizerBase::receiveSignal ( cComponent *  source,
simsignal_t  signal,
cObject *  object,
cObject *  details 
)
overridevirtual
112 {
113 #ifdef INET_WITH_TCP_INET
114  Enter_Method("%s", cComponent::getSignalName(signal));
115 
117  auto tcpConnection = check_and_cast<inet::tcp::TcpConnection *>(object);
118  L3AddressResolver resolver;
119  auto source = resolver.findHostWithAddress(tcpConnection->localAddr);
120  auto destination = resolver.findHostWithAddress(tcpConnection->remoteAddr);
121  if (source != nullptr && sourceNodeFilter.matches(source) &&
122  destination != nullptr && destinationNodeFilter.matches(destination) &&
123  sourcePortFilter.matches(tcpConnection->localPort) &&
124  destinationPortFilter.matches(tcpConnection->remotePort))
125  {
126  addConnectionVisualization(createConnectionVisualization(source, destination, tcpConnection));
127  }
128  }
129  else
130  throw cRuntimeError("Unknown signal");
131 #endif // INET_WITH_TCP_INET
132 }

◆ removeAllConnectionVisualizations()

void inet::visualizer::TransportConnectionVisualizerBase::removeAllConnectionVisualizations ( )
protectedvirtual
101 {
102  std::vector<const TransportConnectionVisualization *> removedConnectionVisualizations;
103  for (auto it : connectionVisualizations)
104  removedConnectionVisualizations.push_back(it);
105  for (auto it : removedConnectionVisualizations) {
107  delete it;
108  }
109 }

Referenced by handleParameterChange(), and preDelete().

◆ removeConnectionVisualization()

◆ subscribe()

void inet::visualizer::TransportConnectionVisualizerBase::subscribe ( )
protectedvirtual
74 {
75 #ifdef INET_WITH_TCP_INET
77 #endif // INET_WITH_TCP_INET
78 }

Referenced by initialize().

◆ unsubscribe()

void inet::visualizer::TransportConnectionVisualizerBase::unsubscribe ( )
protectedvirtual
81 {
82 #ifdef INET_WITH_TCP_INET
83  // NOTE: lookup the module again because it may have been deleted first
84  auto visualizationSubjectModule = findModuleFromPar<cModule>(par("visualizationSubjectModule"), this);
85  if (visualizationSubjectModule != nullptr)
87 #endif // INET_WITH_TCP_INET
88 }

Referenced by preDelete().

Member Data Documentation

◆ connectionVisualizations

◆ destinationNodeFilter

NetworkNodeFilter inet::visualizer::TransportConnectionVisualizerBase::destinationNodeFilter
protected

Referenced by initialize(), and receiveSignal().

◆ destinationPortFilter

PortFilter inet::visualizer::TransportConnectionVisualizerBase::destinationPortFilter
protected

Referenced by initialize(), and receiveSignal().

◆ displayTransportConnections

bool inet::visualizer::TransportConnectionVisualizerBase::displayTransportConnections = false
protected

Referenced by initialize(), and preDelete().

◆ icon

const char* inet::visualizer::TransportConnectionVisualizerBase::icon = nullptr
protected

◆ iconColorSet

◆ labelColor

cFigure::Color inet::visualizer::TransportConnectionVisualizerBase::labelColor
protected

◆ labelFont

cFigure::Font inet::visualizer::TransportConnectionVisualizerBase::labelFont
protected

◆ placementHint

Placement inet::visualizer::TransportConnectionVisualizerBase::placementHint
protected

◆ placementPriority

double inet::visualizer::TransportConnectionVisualizerBase::placementPriority
protected

◆ sourceNodeFilter

NetworkNodeFilter inet::visualizer::TransportConnectionVisualizerBase::sourceNodeFilter
protected

◆ sourcePortFilter

PortFilter inet::visualizer::TransportConnectionVisualizerBase::sourcePortFilter
protected

The documentation for this class was generated from the following files:
inet::visualizer::PortFilter::setPattern
void setPattern(const char *pattern)
Definition: PortFilter.cc:14
inet::visualizer::TransportConnectionVisualizerBase::connectionVisualizations
std::vector< const TransportConnectionVisualization * > connectionVisualizations
Definition: TransportConnectionVisualizerBase.h:57
inet::visualizer::ColorSet::parseColors
void parseColors(const char *colorNames)
Definition: ColorSet.cc:14
inet::visualizer::TransportConnectionVisualizerBase::placementHint
Placement placementHint
Definition: TransportConnectionVisualizerBase.h:53
inet::visualizer::TransportConnectionVisualizerBase::labelColor
cFigure::Color labelColor
Definition: TransportConnectionVisualizerBase.h:52
inet::visualizer::TransportConnectionVisualizerBase::labelFont
cFigure::Font labelFont
Definition: TransportConnectionVisualizerBase.h:51
inet::remove
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
inet::visualizer::parsePlacement
Placement parsePlacement(const char *s)
Definition: Placement.cc:14
inet::visualizer::NetworkNodeFilter::matches
bool matches(const cModule *module) const
Definition: NetworkNodeFilter.cc:19
inet::visualizer::TransportConnectionVisualizerBase::addConnectionVisualization
virtual void addConnectionVisualization(const TransportConnectionVisualization *connectionVisualization)
Definition: TransportConnectionVisualizerBase.cc:90
inet::visualizer::TransportConnectionVisualizerBase::unsubscribe
virtual void unsubscribe()
Definition: TransportConnectionVisualizerBase.cc:80
inet::visualizer::PortFilter::matches
bool matches(int value) const
Definition: PortFilter.cc:19
inet::visualizer::NetworkNodeFilter::setPattern
void setPattern(const char *pattern)
Definition: NetworkNodeFilter.cc:14
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::TransportConnectionVisualizerBase::destinationNodeFilter
NetworkNodeFilter destinationNodeFilter
Definition: TransportConnectionVisualizerBase.h:47
inet::visualizer::TransportConnectionVisualizerBase::iconColorSet
ColorSet iconColorSet
Definition: TransportConnectionVisualizerBase.h:50
inet::visualizer::TransportConnectionVisualizerBase::sourcePortFilter
PortFilter sourcePortFilter
Definition: TransportConnectionVisualizerBase.h:46
inet::visualizer::TransportConnectionVisualizerBase::removeConnectionVisualization
virtual void removeConnectionVisualization(const TransportConnectionVisualization *connectionVisualization)
Definition: TransportConnectionVisualizerBase.cc:95
Enter_Method
#define Enter_Method(...)
Definition: SelfDoc.h:71
inet::visualizer::TransportConnectionVisualizerBase::icon
const char * icon
Definition: TransportConnectionVisualizerBase.h:49
inet::tcp::Tcp::tcpConnectionAddedSignal
static simsignal_t tcpConnectionAddedSignal
Definition: Tcp.h:87
inet::DiffservUtil::Color
Color
Definition: DiffservUtil.h:17
inet::visualizer::VisualizerBase::visualizationSubjectModule
cModule * visualizationSubjectModule
Definition: VisualizerBase.h:26
inet::visualizer::TransportConnectionVisualizerBase::displayTransportConnections
bool displayTransportConnections
Definition: TransportConnectionVisualizerBase.h:44
inet::visualizer::TransportConnectionVisualizerBase::placementPriority
double placementPriority
Definition: TransportConnectionVisualizerBase.h:54
inet::visualizer::TransportConnectionVisualizerBase::destinationPortFilter
PortFilter destinationPortFilter
Definition: TransportConnectionVisualizerBase.h:48
inet::visualizer::TransportConnectionVisualizerBase::subscribe
virtual void subscribe()
Definition: TransportConnectionVisualizerBase.cc:73
inet::visualizer::TransportConnectionVisualizerBase::removeAllConnectionVisualizations
virtual void removeAllConnectionVisualizations()
Definition: TransportConnectionVisualizerBase.cc:100
inet::visualizer::TransportConnectionVisualizerBase::createConnectionVisualization
virtual const TransportConnectionVisualization * createConnectionVisualization(cModule *source, cModule *destination, tcp::TcpConnection *tcpConnection) const =0
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23
inet::visualizer::TransportConnectionVisualizerBase::sourceNodeFilter
NetworkNodeFilter sourceNodeFilter
Definition: TransportConnectionVisualizerBase.h:45