RINASim
October 2016
Documentation of framework for OMNeT++
|
#include <RMTPort.h>
Public Member Functions | |
bool | isOutputReady () |
bool | isInputReady () |
void | blockOutput () |
void | unblockOutput () |
void | blockInput () |
void | unblockInput () |
bool | hasBlockedInput () |
long | getInputRate () |
void | setInputRate (long pdusPerSecond) |
const Flow * | getFlow () const |
RMTQueue * | getFirstQueue (RMTQueueType type) const |
RMTQueue * | getLongestQueue (RMTQueueType type) const |
RMTQueue * | getQueueById (RMTQueueType type, const char *queueId) const |
RMTQueues & | getInputQueues () |
RMTQueues & | getOutputQueues () |
unsigned long | getWaiting (RMTQueueType direction) |
Protected Member Functions | |
virtual void | initialize () |
virtual void | handleMessage (cMessage *msg) |
void | addWaiting (RMTQueueType direction) |
void | substractWaiting (RMTQueueType direction) |
Private Member Functions | |
void | setOutputReady () |
void | setOutputBusy () |
void | setInputReady () |
void | setInputBusy () |
void | postInitialize () |
void | setFlow (Flow *flow) |
void | registerInputQueue (RMTQueue *queue) |
void | registerOutputQueue (RMTQueue *queue) |
void | unregisterInputQueue (RMTQueue *queue) |
void | unregisterOutputQueue (RMTQueue *queue) |
cGate * | getSouthInputGate () const |
cGate * | getSouthOutputGate () const |
void | scheduleNextRead () |
void | scheduleNextWrite () |
void | redrawGUI (bool redrawParent=false) |
Private Attributes | |
bool | inputReady |
bool | outputReady |
bool | blockedInput |
bool | blockedOutput |
unsigned long | waitingOnInput |
unsigned long | waitingOnOutput |
long | inputReadRate |
double | postReadDelay |
std::string | dstAppAddr |
std::string | dstAppQoS |
Flow * | flow |
QueueIDGenBase * | queueIdGen |
std::set< cGate * > | northInputGates |
cGate * | southInputGate |
cGate * | southOutputGate |
cGate * | protectIn |
cGate * | protectOut |
cGate * | unprotectIn |
cGate * | unprotectOut |
cChannel * | outputChannel |
RMTQueues | outputQueues |
RMTQueues | inputQueues |
simsignal_t | sigRMTPortReadyForRead |
simsignal_t | sigRMTPortReadyToWrite |
simsignal_t | sigStatRMTPortUp |
simsignal_t | sigStatRMTPortDown |
Friends | |
class | RA |
class | RMT |
class | RMTModuleAllocator |
|
protected |
Increments number of waiting PDUs.
direction | of transfer (read/serve) |
Definition at line 320 of file RMTPort.cc.
void RMTPort::blockInput | ( | ) |
Marks the port as blocked for reading (e.g. when other (N-1)-ports aren't keeping up).
Definition at line 416 of file RMTPort.cc.
void RMTPort::blockOutput | ( | ) |
Marks the port as blocked for sending (e.g. when (N-1)-EFCPI isn't keeping up).
Definition at line 397 of file RMTPort.cc.
Referenced by RA::blockNM1PortOutput().
RMTQueue * RMTPort::getFirstQueue | ( | RMTQueueType | type | ) | const |
Returns the first queue available on this port. Note: this excludes the temporary management queues
type | direction of data |
Definition at line 219 of file RMTPort.cc.
const Flow * RMTPort::getFlow | ( | ) | const |
Returns the (N-1)-flow this port is assigned to.
Definition at line 369 of file RMTPort.cc.
RMTQueues & RMTPort::getInputQueues | ( | ) |
Returns a list of available input queues.
Definition at line 174 of file RMTPort.cc.
Referenced by NM1FlowTableItem::getRMTInputQueues(), RMTModuleAllocator::lookup(), and RMTModuleAllocator::removePort().
long RMTPort::getInputRate | ( | ) |
Definition at line 330 of file RMTPort.cc.
RMTQueue * RMTPort::getLongestQueue | ( | RMTQueueType | type | ) | const |
Returns the longest queue attached to this port.
type | direction of data |
Definition at line 226 of file RMTPort.cc.
Referenced by LongestQFirst::processQueues(), FWQ::WeightedFairQ::processQueues(), and IterativeScheduling::IterativeScheduling::processQueues().
RMTQueues & RMTPort::getOutputQueues | ( | ) |
Returns a list of available output queues.
Definition at line 179 of file RMTPort.cc.
Referenced by NM1FlowTableItem::getRMTOutputQueues(), RMTModuleAllocator::lookup(), and RMTModuleAllocator::removePort().
RMTQueue * RMTPort::getQueueById | ( | RMTQueueType | type, |
const char * | queueId | ||
) | const |
Returns the queue that matches given ID.
type | direction of data |
queueId | queue ID |
Definition at line 244 of file RMTPort.cc.
Referenced by handleMessage(), and RMT::relayPDUToPort().
|
private |
Definition at line 209 of file RMTPort.cc.
|
private |
Definition at line 214 of file RMTPort.cc.
Referenced by RA::removeNM1FlowBindings().
unsigned long RMTPort::getWaiting | ( | RMTQueueType | direction | ) |
Returns number of PDUs waiting to be read.
direction | of transfer (read/serve) |
Definition at line 315 of file RMTPort.cc.
Referenced by DQSch::processQueues(), LongestQFirst::processQueues(), FWQ::WeightedFairQ::processQueues(), IterativeScheduling::IterativeScheduling::processQueues(), and DumbSch::processQueues().
|
protectedvirtual |
Definition at line 76 of file RMTPort.cc.
|
inline |
|
protectedvirtual |
Definition at line 30 of file RMTPort.cc.
bool RMTPort::isInputReady | ( | ) |
Returns the port state (ready to receive data/busy).
Definition at line 282 of file RMTPort.cc.
Referenced by DQSch::processQueues(), LongestQFirst::processQueues(), FWQ::WeightedFairQ::processQueues(), IterativeScheduling::IterativeScheduling::processQueues(), and DumbSch::processQueues().
bool RMTPort::isOutputReady | ( | ) |
Returns the port state (ready to send out data/busy).
Definition at line 261 of file RMTPort.cc.
Referenced by DQSch::processQueues(), LongestQFirst::processQueues(), FWQ::WeightedFairQ::processQueues(), IterativeScheduling::IterativeScheduling::processQueues(), DumbSch::processQueues(), and redrawGUI().
|
private |
Definition at line 65 of file RMTPort.cc.
Referenced by RA::bindMediumToRMT().
|
private |
Definition at line 341 of file RMTPort.cc.
Referenced by blockInput(), blockOutput(), setFlow(), setInputBusy(), setInputReady(), setOutputBusy(), setOutputReady(), unblockInput(), and unblockOutput().
|
private |
Definition at line 184 of file RMTPort.cc.
Referenced by RMTModuleAllocator::addQueue().
|
private |
Definition at line 190 of file RMTPort.cc.
Referenced by RMTModuleAllocator::addQueue().
|
private |
Definition at line 308 of file RMTPort.cc.
Referenced by RMT::postQueueDeparture().
|
private |
Definition at line 303 of file RMTPort.cc.
Referenced by handleMessage().
|
private |
Definition at line 374 of file RMTPort.cc.
Referenced by RMTModuleAllocator::addPort(), and RA::postNM1FlowAllocation().
|
private |
Marks the port as busy (e.g. when sending data through it).
Definition at line 297 of file RMTPort.cc.
Referenced by scheduleNextRead().
void RMTPort::setInputRate | ( | long | pdusPerSecond | ) |
Definition at line 335 of file RMTPort.cc.
|
private |
Marks the port as ready to receive data.
Definition at line 287 of file RMTPort.cc.
Referenced by RA::bindMediumToRMT(), RA::createNM1FlowWithoutAllocate(), handleMessage(), RA::postNM1FlowAllocation(), and unblockInput().
|
private |
Marks the port as busy (e.g. when sending data through it).
Definition at line 276 of file RMTPort.cc.
Referenced by blockOutput(), handleMessage(), and RMT::postQueueDeparture().
|
private |
Marks the port as ready to receive data.
Definition at line 266 of file RMTPort.cc.
Referenced by RA::bindMediumToRMT(), RA::createNM1FlowWithoutAllocate(), handleMessage(), RA::postNM1FlowAllocation(), and unblockOutput().
|
protected |
Decrements number of waiting PDUs.
direction | of transfer (read/serve) |
Definition at line 325 of file RMTPort.cc.
Referenced by RMT::postQueueDeparture().
void RMTPort::unblockInput | ( | ) |
Unmarks the port as blocked for reading (e.g. when other (N-1)-ports are keeping up again).
Definition at line 423 of file RMTPort.cc.
void RMTPort::unblockOutput | ( | ) |
Unmarks the port as blocked for sending (e.g. when (N-1)-EFCPI is keeping up again).
Definition at line 408 of file RMTPort.cc.
Referenced by RA::unblockNM1PortOutput().
|
private |
Definition at line 196 of file RMTPort.cc.
|
private |
Definition at line 202 of file RMTPort.cc.
|
friend |
|
private |
Definition at line 171 of file RMTPort.h.
Referenced by blockInput(), hasBlockedInput(), initialize(), redrawGUI(), setInputReady(), and unblockInput().
|
private |
Definition at line 172 of file RMTPort.h.
Referenced by blockOutput(), initialize(), redrawGUI(), setOutputReady(), and unblockOutput().
|
private |
Definition at line 177 of file RMTPort.h.
Referenced by redrawGUI(), and setFlow().
|
private |
Definition at line 178 of file RMTPort.h.
Referenced by redrawGUI(), and setFlow().
|
private |
Definition at line 180 of file RMTPort.h.
Referenced by getFlow(), initialize(), and setFlow().
|
private |
Definition at line 193 of file RMTPort.h.
Referenced by getFirstQueue(), getInputQueues(), getLongestQueue(), getQueueById(), registerInputQueue(), and unregisterInputQueue().
|
private |
Definition at line 175 of file RMTPort.h.
Referenced by getInputRate(), initialize(), and setInputRate().
|
private |
Definition at line 169 of file RMTPort.h.
Referenced by initialize(), isInputReady(), setInputBusy(), and setInputReady().
|
private |
Definition at line 183 of file RMTPort.h.
Referenced by handleMessage(), registerOutputQueue(), and unregisterOutputQueue().
|
private |
Definition at line 190 of file RMTPort.h.
Referenced by handleMessage(), and postInitialize().
|
private |
Definition at line 192 of file RMTPort.h.
Referenced by getFirstQueue(), getLongestQueue(), getOutputQueues(), getQueueById(), registerOutputQueue(), and unregisterOutputQueue().
|
private |
Definition at line 170 of file RMTPort.h.
Referenced by blockOutput(), initialize(), isOutputReady(), setOutputBusy(), and setOutputReady().
|
private |
Definition at line 176 of file RMTPort.h.
Referenced by initialize(), scheduleNextRead(), and setInputRate().
|
private |
Definition at line 186 of file RMTPort.h.
Referenced by handleMessage(), and postInitialize().
|
private |
Definition at line 187 of file RMTPort.h.
Referenced by handleMessage(), and postInitialize().
|
private |
Definition at line 181 of file RMTPort.h.
Referenced by handleMessage(), and initialize().
|
private |
Definition at line 228 of file RMTPort.h.
Referenced by initialize(), and setInputReady().
|
private |
Definition at line 229 of file RMTPort.h.
Referenced by handleMessage(), initialize(), and setOutputReady().
|
private |
Definition at line 231 of file RMTPort.h.
Referenced by handleMessage(), and initialize().
|
private |
Definition at line 230 of file RMTPort.h.
Referenced by handleMessage(), and initialize().
|
private |
Definition at line 184 of file RMTPort.h.
Referenced by getSouthInputGate(), handleMessage(), and initialize().
|
private |
Definition at line 185 of file RMTPort.h.
Referenced by getSouthOutputGate(), handleMessage(), initialize(), and postInitialize().
|
private |
Definition at line 188 of file RMTPort.h.
Referenced by handleMessage(), and postInitialize().
|
private |
Definition at line 189 of file RMTPort.h.
Referenced by handleMessage(), and postInitialize().
|
private |
Definition at line 173 of file RMTPort.h.
Referenced by addWaiting(), getWaiting(), initialize(), and substractWaiting().
|
private |
Definition at line 174 of file RMTPort.h.
Referenced by addWaiting(), getWaiting(), initialize(), and substractWaiting().