|
INET Framework for OMNeT++/OMNEST
|
#include <RoutingTableVisualizerBase.h>
|
| bool | displayRoutingTables = false |
| |
| bool | displayRoutesIndividually = false |
| |
| bool | displayLabels = false |
| |
| NetworkNodeFilter | destinationFilter |
| |
| NetworkNodeFilter | nodeFilter |
| |
| cFigure::Color | lineColor |
| |
| cFigure::LineStyle | lineStyle |
| |
| double | lineShift = NaN |
| |
| const char * | lineShiftMode = nullptr |
| |
| double | lineWidth = NaN |
| |
| double | lineContactSpacing = NaN |
| |
| const char * | lineContactMode = nullptr |
| |
| StringFormat | labelFormat |
| |
| cFigure::Font | labelFont |
| |
| cFigure::Color | labelColor |
| |
| LineManager * | lineManager = nullptr |
| |
| std::map< std::tuple< Ipv4Address, int, int >, const RouteVisualization * > | routeVisualizations |
| |
| 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 RouteVisualization * | createRouteVisualization (Ipv4Route *route, cModule *node, cModule *nextHop) const =0 |
| |
| virtual const RouteVisualization * | getRouteVisualization (Ipv4Route *route, int nodeModuleId, int nextHopModuleId) |
| |
| virtual void | addRouteVisualization (const RouteVisualization *routeVisualization) |
| |
| virtual void | removeRouteVisualization (const RouteVisualization *routeVisualization) |
| |
| virtual std::vector< Ipv4Address > | getDestinations () |
| |
| virtual void | addRouteVisualizations (IIpv4RoutingTable *routingTable) |
| |
| virtual void | removeRouteVisualizations (IIpv4RoutingTable *routingTable) |
| |
| virtual void | removeAllRouteVisualizations () |
| |
| virtual void | updateRouteVisualizations (IIpv4RoutingTable *routingTable) |
| |
| virtual void | updateAllRouteVisualizations () |
| |
| virtual std::string | getRouteVisualizationText (const Ipv4Route *route) const |
| |
| virtual void | refreshRouteVisualization (const RouteVisualization *routeVisualization) const =0 |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, cObject *obj, cObject *details) override |
| |
◆ addRouteVisualization()
| void inet::visualizer::RoutingTableVisualizerBase::addRouteVisualization |
( |
const RouteVisualization * |
routeVisualization | ) |
|
|
protectedvirtual |
◆ addRouteVisualizations()
| void inet::visualizer::RoutingTableVisualizerBase::addRouteVisualizations |
( |
IIpv4RoutingTable * |
routingTable | ) |
|
|
protectedvirtual |
190 L3AddressResolver addressResolver;
193 if (!routingTable->isLocalAddress(destination)) {
194 auto route = routingTable->findBestMatchingRoute(destination);
195 if (route !=
nullptr) {
196 auto gateway = route->getGateway();
197 auto nextHop = addressResolver.findHostWithAddress(gateway.isUnspecified() ? destination : gateway);
198 if (nextHop !=
nullptr) {
200 if (routeVisualization ==
nullptr)
203 routeVisualization->numRoutes++;
Referenced by updateAllRouteVisualizations(), and updateRouteVisualizations().
◆ createRouteVisualization()
| virtual const RouteVisualization* inet::visualizer::RoutingTableVisualizerBase::createRouteVisualization |
( |
Ipv4Route * |
route, |
|
|
cModule * |
node, |
|
|
cModule * |
nextHop |
|
) |
| const |
|
protectedpure virtual |
◆ getDestinations()
| std::vector< Ipv4Address > inet::visualizer::RoutingTableVisualizerBase::getDestinations |
( |
| ) |
|
|
protectedvirtual |
171 L3AddressResolver addressResolver;
172 std::vector<Ipv4Address> destinations;
174 auto networkNode = *it;
176 auto interfaceTable = addressResolver.findInterfaceTableOf(networkNode);
177 for (
int i = 0; i < interfaceTable->getNumInterfaces(); i++) {
178 auto interface = interfaceTable->getInterface(i);
179 auto address = interface->getIpv4Address();
180 if (!address.isUnspecified())
181 destinations.push_back(address);
Referenced by addRouteVisualizations().
◆ getRouteVisualization()
143 Ipv4Address routerId;
144 if (route !=
nullptr)
145 routerId = route->getRoutingTable()->getRouterId();
146 auto key = std::make_tuple(routerId, nodeModuleId, nextHopModuleId);
Referenced by addRouteVisualizations().
◆ getRouteVisualizationText()
| std::string inet::visualizer::RoutingTableVisualizerBase::getRouteVisualizationText |
( |
const Ipv4Route * |
route | ) |
const |
|
protectedvirtual |
◆ handleParameterChange()
| void inet::visualizer::RoutingTableVisualizerBase::handleParameterChange |
( |
const char * |
name | ) |
|
|
overrideprotectedvirtual |
93 if (!hasGUI())
return;
94 if (name !=
nullptr) {
95 if (!strcmp(name,
"destinationFilter"))
97 else if (!strcmp(name,
"nodeFilter"))
99 else if (!strcmp(name,
"labelFormat"))
◆ initialize()
| void inet::visualizer::RoutingTableVisualizerBase::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ preDelete()
| void inet::visualizer::RoutingTableVisualizerBase::preDelete |
( |
cComponent * |
root | ) |
|
|
overrideprotectedvirtual |
◆ receiveSignal()
| void inet::visualizer::RoutingTableVisualizerBase::receiveSignal |
( |
cComponent * |
source, |
|
|
simsignal_t |
signal, |
|
|
cObject * |
obj, |
|
|
cObject * |
details |
|
) |
| |
|
overridevirtual |
130 auto routingTable = check_and_cast<IIpv4RoutingTable *>(source);
138 throw cRuntimeError(
"Unknown signal");
◆ refreshRouteVisualization()
| virtual void inet::visualizer::RoutingTableVisualizerBase::refreshRouteVisualization |
( |
const RouteVisualization * |
routeVisualization | ) |
const |
|
protectedpure virtual |
◆ removeAllRouteVisualizations()
| void inet::visualizer::RoutingTableVisualizerBase::removeAllRouteVisualizations |
( |
| ) |
|
|
protectedvirtual |
227 std::vector<const RouteVisualization *> removedRouteVisualizations;
229 removedRouteVisualizations.push_back(it.second);
230 for (
auto it : removedRouteVisualizations) {
Referenced by preDelete(), and updateAllRouteVisualizations().
◆ removeRouteVisualization()
| void inet::visualizer::RoutingTableVisualizerBase::removeRouteVisualization |
( |
const RouteVisualization * |
routeVisualization | ) |
|
|
protectedvirtual |
◆ removeRouteVisualizations()
| void inet::visualizer::RoutingTableVisualizerBase::removeRouteVisualizations |
( |
IIpv4RoutingTable * |
routingTable | ) |
|
|
protectedvirtual |
215 std::vector<const RouteVisualization *> removedRouteVisualizations;
217 if (std::get<1>(it.first) == networkNode->getId() && it.second)
218 removedRouteVisualizations.push_back(it.second);
219 for (
auto it : removedRouteVisualizations) {
Referenced by updateRouteVisualizations().
◆ subscribe()
| void inet::visualizer::RoutingTableVisualizerBase::subscribe |
( |
| ) |
|
|
protectedvirtual |
◆ unsubscribe()
| void inet::visualizer::RoutingTableVisualizerBase::unsubscribe |
( |
| ) |
|
|
protectedvirtual |
◆ updateAllRouteVisualizations()
| void inet::visualizer::RoutingTableVisualizerBase::updateAllRouteVisualizations |
( |
| ) |
|
|
protectedvirtual |
246 auto networkNode = *it;
248 L3AddressResolver addressResolver;
249 auto routingTable = addressResolver.findIpv4RoutingTableOf(networkNode);
250 if (routingTable !=
nullptr)
Referenced by handleParameterChange(), and receiveSignal().
◆ updateRouteVisualizations()
| void inet::visualizer::RoutingTableVisualizerBase::updateRouteVisualizations |
( |
IIpv4RoutingTable * |
routingTable | ) |
|
|
protectedvirtual |
◆ destinationFilter
◆ displayLabels
| bool inet::visualizer::RoutingTableVisualizerBase::displayLabels = false |
|
protected |
◆ displayRoutesIndividually
| bool inet::visualizer::RoutingTableVisualizerBase::displayRoutesIndividually = false |
|
protected |
◆ displayRoutingTables
| bool inet::visualizer::RoutingTableVisualizerBase::displayRoutingTables = false |
|
protected |
◆ labelColor
| cFigure::Color inet::visualizer::RoutingTableVisualizerBase::labelColor |
|
protected |
◆ labelFont
| cFigure::Font inet::visualizer::RoutingTableVisualizerBase::labelFont |
|
protected |
◆ labelFormat
| StringFormat inet::visualizer::RoutingTableVisualizerBase::labelFormat |
|
protected |
◆ lineColor
| cFigure::Color inet::visualizer::RoutingTableVisualizerBase::lineColor |
|
protected |
◆ lineContactMode
| const char* inet::visualizer::RoutingTableVisualizerBase::lineContactMode = nullptr |
|
protected |
◆ lineContactSpacing
| double inet::visualizer::RoutingTableVisualizerBase::lineContactSpacing = NaN |
|
protected |
◆ lineManager
| LineManager* inet::visualizer::RoutingTableVisualizerBase::lineManager = nullptr |
|
protected |
◆ lineShift
| double inet::visualizer::RoutingTableVisualizerBase::lineShift = NaN |
|
protected |
◆ lineShiftMode
| const char* inet::visualizer::RoutingTableVisualizerBase::lineShiftMode = nullptr |
|
protected |
◆ lineStyle
| cFigure::LineStyle inet::visualizer::RoutingTableVisualizerBase::lineStyle |
|
protected |
◆ lineWidth
| double inet::visualizer::RoutingTableVisualizerBase::lineWidth = NaN |
|
protected |
◆ nodeFilter
◆ routeVisualizations
The documentation for this class was generated from the following files:
cFigure::Font labelFont
Definition: RoutingTableVisualizerBase.h:63
double lineWidth
Definition: RoutingTableVisualizerBase.h:59
NetworkNodeFilter destinationFilter
Definition: RoutingTableVisualizerBase.h:53
virtual void addRouteVisualizations(IIpv4RoutingTable *routingTable)
Definition: RoutingTableVisualizerBase.cc:188
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
bool displayLabels
Definition: RoutingTableVisualizerBase.h:52
NetworkNodeFilter nodeFilter
Definition: RoutingTableVisualizerBase.h:54
simsignal_t routeChangedSignal
Definition: Simsignals.cc:43
double lineContactSpacing
Definition: RoutingTableVisualizerBase.h:60
const char * lineShiftMode
Definition: RoutingTableVisualizerBase.h:58
bool displayRoutingTables
Definition: RoutingTableVisualizerBase.h:50
bool matches(const cModule *module) const
Definition: NetworkNodeFilter.cc:19
const char * lineContactMode
Definition: RoutingTableVisualizerBase.h:61
double lineShift
Definition: RoutingTableVisualizerBase.h:57
virtual std::vector< Ipv4Address > getDestinations()
Definition: RoutingTableVisualizerBase.cc:169
virtual const RouteVisualization * createRouteVisualization(Ipv4Route *route, cModule *node, cModule *nextHop) const =0
virtual void removeRouteVisualization(const RouteVisualization *routeVisualization)
Definition: RoutingTableVisualizerBase.cc:160
virtual void refreshRouteVisualization(const RouteVisualization *routeVisualization) const =0
std::map< std::tuple< Ipv4Address, int, int >, const RouteVisualization * > routeVisualizations
Definition: RoutingTableVisualizerBase.h:70
void setPattern(const char *pattern)
Definition: NetworkNodeFilter.cc:14
virtual void unsubscribe()
Definition: RoutingTableVisualizerBase.cc:113
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
bool isNetworkNode(const cModule *mod)
Returns true if the given module is a network node, i.e.
Definition: ModuleAccess.cc:18
simsignal_t routeAddedSignal
Definition: Simsignals.cc:41
virtual const RouteVisualization * getRouteVisualization(Ipv4Route *route, int nodeModuleId, int nextHopModuleId)
Definition: RoutingTableVisualizerBase.cc:141
cFigure::Color lineColor
Definition: RoutingTableVisualizerBase.h:55
bool displayRoutesIndividually
Definition: RoutingTableVisualizerBase.h:51
virtual void subscribe()
Definition: RoutingTableVisualizerBase.cc:105
#define Enter_Method(...)
Definition: SelfDoc.h:71
simsignal_t routeDeletedSignal
Definition: Simsignals.cc:42
simsignal_t interfaceIpv4ConfigChangedSignal
Definition: Simsignals.cc:35
Color
Definition: DiffservUtil.h:17
cModule * visualizationSubjectModule
Definition: VisualizerBase.h:26
virtual void removeAllRouteVisualizations()
Definition: RoutingTableVisualizerBase.cc:225
virtual void removeRouteVisualizations(IIpv4RoutingTable *routingTable)
Definition: RoutingTableVisualizerBase.cc:212
cFigure::LineStyle lineStyle
Definition: RoutingTableVisualizerBase.h:56
StringFormat labelFormat
Definition: RoutingTableVisualizerBase.h:62
virtual void updateAllRouteVisualizations()
Definition: RoutingTableVisualizerBase.cc:242
virtual void updateRouteVisualizations(IIpv4RoutingTable *routingTable)
Definition: RoutingTableVisualizerBase.cc:236
cFigure::Color labelColor
Definition: RoutingTableVisualizerBase.h:64
virtual void addRouteVisualization(const RouteVisualization *routeVisualization)
Definition: RoutingTableVisualizerBase.cc:151
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23