a/src/DIF/RIB/RIBd.h b/src/DIF/RIB/RIBd.h
...
...
31
#include "RIBdBase.h"
31
#include "RIBdBase.h"
32
#include "ExternConsts.h"
32
#include "ExternConsts.h"
33
#include "RIBdListeners.h"
33
#include "RIBdListeners.h"
34
#include "RINASignals.h"
34
#include "RINASignals.h"
35
#include "PDU.h"
35
#include "PDU.h"
36
#include "IntRoutingUpdate.h"
36
37
37
//Constants
38
//Constants
38
extern const char* MSG_CONGEST;
39
extern const char* MSG_CONGEST;
39
extern const char* MSG_FLO;
40
extern const char* MSG_FLO;
40
extern const char* CLS_FLOW;
41
extern const char* CLS_FLOW;
...
...
44
extern const int   VAL_FLOWPOSI;
45
extern const int   VAL_FLOWPOSI;
45
extern const int   VAL_FLOWNEGA;
46
extern const int   VAL_FLOWNEGA;
46
extern const char* VAL_FLREQ;
47
extern const char* VAL_FLREQ;
47
extern const char* VAL_FLREQPOSI;
48
extern const char* VAL_FLREQPOSI;
48
extern const char* VAL_FLREQNEGA;
49
extern const char* VAL_FLREQNEGA;
50
extern const char* MSG_ROUTINGUPDATE;
49
51
50
class RIBd : public RIBdBase {
52
class RIBd : public RIBdBase {
51
  public:
53
  public:
52
    virtual void sendCreateRequestFlow(Flow* flow);
54
    virtual void sendCreateRequestFlow(Flow* flow);
53
    virtual void sendCreateResponseNegative(Flow* flow);
55
    virtual void sendCreateResponseNegative(Flow* flow);
...
...
57
    virtual void receiveData(CDAPMessage* cimsg);
59
    virtual void receiveData(CDAPMessage* cimsg);
58
    virtual void receiveAllocationRequestFromFai(Flow* flow);
60
    virtual void receiveAllocationRequestFromFai(Flow* flow);
59
    virtual void receiveCreateFlowPositiveFromRa(Flow* flow);
61
    virtual void receiveCreateFlowPositiveFromRa(Flow* flow);
60
    virtual void receiveCreateFlowNegativeFromRa(Flow* flow);
62
    virtual void receiveCreateFlowNegativeFromRa(Flow* flow);
61
    /* Handles information coming from PDUFTG module. */
63
    /* Handles information coming from PDUFTG module. */
62
    virtual void receiveForwardingInfoUpdateFromPDUFTG(PDUFTGUpdate * update);
64
    virtual void receiveRoutingUpdateFromRouting(IntRoutingUpdate * update);
63
65
64
    virtual void sendCongestionNotification(PDU* pdu);
66
    virtual void sendCongestionNotification(PDU* pdu);
67
68
    void signalizeSendData(CDAPMessage* msg);
69
    void signalizeCreateRequestFlow(Flow* flow);
70
    void signalizeDeleteRequestFlow(Flow* flow);
71
    void signalizeDeleteResponseFlow(Flow* flow);
72
    void signalizeAllocateResponsePositive(Flow* flow);
73
    void signalizeAllocateResponseNegative(Flow* flow);
74
    void signalizeCreateFlow(Flow* flow);
75
    void signalizeCreateResponseFlowPositive(Flow* flow);
76
    void signalizeCreateResponseFlowNegative(Flow* flow);
77
    void signalizeCongestionNotification(CongestionDescriptor* congDesc);
65
78
66
  protected:
79
  protected:
67
80
68
    virtual void initialize();
81
    virtual void initialize();
69
    virtual void handleMessage(cMessage *msg);
82
    virtual void handleMessage(cMessage *msg);
...
...
82
    simsignal_t sigRIBDAllocResNega;
95
    simsignal_t sigRIBDAllocResNega;
83
    simsignal_t sigRIBDCreFlow;
96
    simsignal_t sigRIBDCreFlow;
84
    simsignal_t sigRIBDCongNotif;
97
    simsignal_t sigRIBDCongNotif;
85
98
86
    /* Emit update received signal. */
99
    /* Emit update received signal. */
87
    simsignal_t sigRIBDFwdUpdateRecv;
100
    //simsignal_t sigRIBDFwdUpdateRecv;
101
    simsignal_t sigRIBDRoutingUpdateRecv;
88
102
89
    //Listeners
103
    //Listeners
90
    LisRIBDRcvData*             lisRIBDRcvData;
104
    LisRIBDRcvData*             lisRIBDRcvData;
91
    LisRIBDCreReq*              lisRIBDCreReq;
105
    LisRIBDCreReq*              lisRIBDCreReq;
92
    LisRIBDCreReq*              lisRIBDCreReqByForward;
106
    LisRIBDCreReq*              lisRIBDCreReqByForward;
...
...
100
    LisRIBDCreFloPosi*          lisRIBDCreFloPosi;
114
    LisRIBDCreFloPosi*          lisRIBDCreFloPosi;
101
    LisRIBDCreFloNega*          lisRIBDCreFloNega;
115
    LisRIBDCreFloNega*          lisRIBDCreFloNega;
102
    LisRIBDCongesNotif*         lisRIBDCongNotif;
116
    LisRIBDCongesNotif*         lisRIBDCongNotif;
103
117
104
    /* Listen for PDUFTG update messages. */
118
    /* Listen for PDUFTG update messages. */
105
    LisRIBDFwdInfoUpdate*       lisRIBDFwdInfoUpdate;
119
    LisRIBDRoutingUpdate*       lisRIBDRoutingUpdate;
106
107
    void signalizeSendData(CDAPMessage* msg);
108
    void signalizeCreateRequestFlow(Flow* flow);
109
    void signalizeDeleteRequestFlow(Flow* flow);
110
    void signalizeDeleteResponseFlow(Flow* flow);
111
    void signalizeAllocateResponsePositive(Flow* flow);
112
    void signalizeAllocateResponseNegative(Flow* flow);
113
    void signalizeCreateFlow(Flow* flow);
114
    void signalizeCreateResponseFlowPositive(Flow* flow);
115
    void signalizeCreateResponseFlowNegative(Flow* flow);
116
    void signalizeCongestionNotification(CongestionDescriptor* congDesc);
117
120
118
    void processMCreate(CDAPMessage* msg);
121
    void processMCreate(CDAPMessage* msg);
119
    void processMCreateR(CDAPMessage* msg);
122
    void processMCreateR(CDAPMessage* msg);
120
    void processMDelete(CDAPMessage* msg);
123
    void processMDelete(CDAPMessage* msg);
121
    void processMDeleteR(CDAPMessage* msg);
124
    void processMDeleteR(CDAPMessage* msg);