|
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().