--- a/src/DIF/RIB/RIBd.h
+++ b/src/DIF/RIB/RIBd.h
@@ -32,8 +32,10 @@
#include "ExternConsts.h"
#include "RIBdListeners.h"
#include "RINASignals.h"
+#include "PDU.h"
//Constants
+extern const char* MSG_CONGEST;
extern const char* MSG_FLO;
extern const char* CLS_FLOW;
extern const char* MSG_FLOPOSI;
@@ -59,7 +61,10 @@
/* Handles information coming from PDUFTG module. */
virtual void receiveForwardingInfoUpdateFromPDUFTG(PDUFTGUpdate * update);
+ virtual void sendCongestionNotification(PDU* pdu);
+
protected:
+
virtual void initialize();
virtual void handleMessage(cMessage *msg);
@@ -76,6 +81,7 @@
simsignal_t sigRIBDAllocResPosi;
simsignal_t sigRIBDAllocResNega;
simsignal_t sigRIBDCreFlow;
+ simsignal_t sigRIBDCongNotif;
/* Emit update received signal. */
simsignal_t sigRIBDFwdUpdateRecv;
@@ -93,6 +99,7 @@
LisRIBDDelRes* lisRIBDDelRes;
LisRIBDCreFloPosi* lisRIBDCreFloPosi;
LisRIBDCreFloNega* lisRIBDCreFloNega;
+ LisRIBDCongesNotif* lisRIBDCongNotif;
/* Listen for PDUFTG update messages. */
LisRIBDFwdInfoUpdate* lisRIBDFwdInfoUpdate;
@@ -106,6 +113,7 @@
void signalizeCreateFlow(Flow* flow);
void signalizeCreateResponseFlowPositive(Flow* flow);
void signalizeCreateResponseFlowNegative(Flow* flow);
+ void signalizeCongestionNotification(CongestionDescriptor* congDesc);
void processMCreate(CDAPMessage* msg);
void processMCreateR(CDAPMessage* msg);
@@ -113,8 +121,8 @@
void processMDeleteR(CDAPMessage* msg);
void processMWrite(CDAPMessage* msg);
- private:
- int invokeIdCounter;
+ void processMStart(CDAPMessage* msg);
+
};
#endif /* RIBDAEMON_H_ */