Switch to side-by-side view

--- a/src/DIF/RA/RA.h
+++ b/src/DIF/RA/RA.h
@@ -1,3 +1,5 @@
+//
+// Copyright Š 2014 - 2015 PRISTINE Consortium (http://ict-pristine.eu)
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
@@ -35,6 +37,7 @@
 #include "PDUForwardingTable.h"
 #include "NM1FlowTable.h"
 #include "QueueAllocBase.h"
+#include "CongestionDescriptor.h"
 
 /* Forwarding and routing stuff... */
 #include "PDUFwdTabGenerator.h"
@@ -63,10 +66,14 @@
 class RA : public RABase
 {
   public:
-    virtual void createNM1Flow(Flow *flow);
-    virtual void createNM1FlowWithoutAllocate(Flow *flow);
-    virtual void removeNM1Flow(Flow *flow);
+    virtual void createNM1Flow(Flow* flow);
+    virtual void createNM1FlowWithoutAllocate(Flow* flow);
+    virtual void removeNM1Flow(Flow* flow);
     virtual bool bindNFlowToNM1Flow(Flow* flow);
+    virtual void blockNM1PortOutput(Flow* flow);
+    virtual void unblockNM1PortOutput(Flow* flow);
+    virtual void blockNM1PortInput(cObject* obj);
+    virtual void unblockNM1PortInput(cObject* obj);
 
     // event hook handlers
     virtual void postNFlowAllocation(Flow* flow);
@@ -83,7 +90,6 @@
     cModule* rmtModule;
     RMT* rmt;
     RMTModuleAllocator* rmtAllocator;
-    //PDUForwardingTable* fwdTable;
     NM1FlowTable* flowTable;
     QueueAllocBase* qAllocPolicy;
 
@@ -104,13 +110,26 @@
 
     simsignal_t sigRACreFloPosi;
     simsignal_t sigRACreFloNega;
+    simsignal_t sigRASDReqFromRMT;
+    simsignal_t sigRASDReqFromRIB;
+
     LisRACreFlow* lisRACreFlow;
     LisRAAllocResPos* lisRAAllocResPos;
     LisRACreAllocResPos* lisRACreAllocResPos;
     LisRACreResPosi* lisRACreResPosi;
+    LisEFCPStopSending* lisEFCPStopSending;
+    LisEFCPStartSending* lisEFCPStartSending;
+
+    LisRMTSlowdownRequest* lisRMTSDReq;
+    LisRIBCongNotif* lisRIBCongNotif;
+
+    LisRMTPortDrainDisable* lisRMTPortDrainDisable;
+    LisRMTPortDrainEnable* lisRMTPortDrainEnable;
 
     void signalizeCreateFlowPositiveToRIBd(Flow* flow);
     void signalizeCreateFlowNegativeToRIBd(Flow* flow);
+    void signalizeSlowdownRequestToRIBd(cPacket* pdu);
+    void signalizeSlowdownRequestToEFCP(cObject* obj);
 
 };