QuISP
Loading...
Searching...
No Matches
Router.h
Go to the documentation of this file.
1#pragma once
2#include <omnetpp.h>
5
6namespace quisp::modules {
7
8using namespace ospf;
9using RoutingTable = std::map<NodeAddr, int>; // destaddr -> gateindex
10
15class Router : public omnetpp::cSimpleModule {
16 public:
17 Router();
18
19 protected:
20 virtual void initialize() override;
21 virtual void handleMessage(omnetpp::cMessage* msg) override;
22 void generateRoutingTable(cTopology* topo);
23 void handleOspfHelloPacket(omnetpp::cMessage* msg);
24
26
29
30 private:
31 virtual bool parentModuleIsQNode();
32 void nonQNodeForwardOspfPacket(messages::OspfPacket* pk);
33 void sendOspfHelloPacketToQueue(messages::OspfPacket* pk);
34 void redirectOspfHelloPacketToRoutingDaemon(messages::OspfPacket* pk);
35};
36
38} // namespace quisp::modules
Router routes messages to components or other qnode according to the message header.
Definition Router.h:15
Router()
Definition Router.cc:16
void nonQNodeForwardOspfPacket(messages::OspfPacket *pk)
Definition Router.cc:187
utils::ComponentProvider provider
Definition Router.h:25
virtual bool parentModuleIsQNode()
Definition Router.cc:181
void sendOspfHelloPacketToQueue(messages::OspfPacket *pk)
Definition Router.cc:194
NodeAddr my_address
Definition Router.h:27
void redirectOspfHelloPacketToRoutingDaemon(messages::OspfPacket *pk)
Definition Router.cc:200
virtual void handleMessage(omnetpp::cMessage *msg) override
Definition Router.cc:64
RoutingTable routing_table
Definition Router.h:28
void handleOspfHelloPacket(omnetpp::cMessage *msg)
Definition Router.cc:166
void generateRoutingTable(cTopology *topo)
Definition Router.cc:32
virtual void initialize() override
Definition Router.cc:18
ComponentProvider class provides a way to access other quisp other modules.
Definition ComponentProvider.h:22
int NodeAddr
Definition Ospf.h:32
Definition Application.cc:16
Define_Module(Application)
std::map< NodeAddr, int > RoutingTable
Definition Router.h:9