--- a
+++ b/src/policies/DIF/RMT/Scheduler/DL/DL.cc
@@ -0,0 +1,66 @@
+//
+// 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see http://www.gnu.org/licenses/.
+//
+
+#include "DL.h"
+
+Define_Module(DL);
+
+void DL::onPolicyInit()
+{
+ monitor= check_and_cast<DLMonitor*>
+ (getModuleByPath("^.queueMonitorPolicy"));
+ if (monitor == NULL)
+ {
+ EV << "!!! DLMaxQ has to be used in conjecture with DLMonitor!" << endl;
+ }
+}
+
+
+void DL::processQueues(RMTPort* port, RMTQueueType direction)
+{
+
+// if (direction == RMTQueue::OUTPUT)
+// {
+// if (port->isReady())
+// {
+// port->setBusy();
+//
+// RMTQueue* outQ = monitor->getNextUrgentQ(port);
+// if(outQ) {
+// outQ->releasePDU();
+// } else {
+// port->setReady();
+// }
+// }
+// else
+// {
+// port->addWaitingOnOutput();
+// }
+// }
+// else if (direction == RMTQueue::INPUT)
+// {
+// if (inputBusy[port] != true)
+// {
+// inputBusy[port] = true;
+//
+// RMTQueue* inQ = port->getLongestQueue(RMTQueue::INPUT);
+// inQ->releasePDU();
+// }
+// else
+// {
+// port->addWaitingOnInput();
+// }
+// }
+}