RINASim
October 2016
Documentation of framework for OMNeT++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
LongestQFirst.cc
Go to the documentation of this file.
1
// The MIT License (MIT)
2
//
3
// Copyright (c) 2014-2016 Brno University of Technology, PRISTINE project
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in
13
// all copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
// THE SOFTWARE.
22
23
#include "
LongestQFirst.h
"
24
25
Define_Module
(
LongestQFirst
);
26
27
void
LongestQFirst::processQueues
(
RMTPort
* port,
RMTQueueType
direction)
28
{
29
Enter_Method(
"processQueues()"
);
30
31
if
(direction ==
RMTQueue::OUTPUT
)
32
{
33
if
(port->
isOutputReady
() && port->
getWaiting
(
RMTQueue::OUTPUT
))
34
{
35
RMTQueue
* outQ = port->
getLongestQueue
(
RMTQueue::OUTPUT
);
36
outQ->
releasePDU
();
37
}
38
}
39
else
if
(direction ==
RMTQueue::INPUT
)
40
{
41
if
(port->
isInputReady
() && port->
getWaiting
(
RMTQueue::INPUT
))
42
{
43
RMTQueue
* inQ = port->
getLongestQueue
(
RMTQueue::INPUT
);
44
inQ->
releasePDU
();
45
}
46
}
47
}
RMTQueue::queueType
queueType
Definition:
RMTQueue.h:48
LongestQFirst::processQueues
virtual void processQueues(RMTPort *port, RMTQueueType direction)
Definition:
LongestQFirst.cc:27
RMTPort::getLongestQueue
RMTQueue * getLongestQueue(RMTQueueType type) const
Definition:
RMTPort.cc:226
Define_Module
Define_Module(LongestQFirst)
RMTQueue::releasePDU
void releasePDU()
Definition:
RMTQueue.cc:162
LongestQFirst.h
LongestQFirst
Definition:
LongestQFirst.h:30
RMTPort::getWaiting
unsigned long getWaiting(RMTQueueType direction)
Definition:
RMTPort.cc:315
RMTQueue::OUTPUT
Definition:
RMTQueue.h:48
RMTPort::isOutputReady
bool isOutputReady()
Definition:
RMTPort.cc:261
RMTQueue::INPUT
Definition:
RMTQueue.h:48
RMTPort
Definition:
RMTPort.h:36
RMTPort::isInputReady
bool isInputReady()
Definition:
RMTPort.cc:282
RMTQueue
Definition:
RMTQueue.h:34
policies
DIF
RMT
Scheduler
LongestQFirst
LongestQFirst.cc
Generated on Tue Oct 25 2016 21:08:56 for RINASim by
1.8.10