RINASim
October 2016
Documentation of framework for OMNeT++
|
#include <RMT.h>
Public Member Functions | |
virtual | ~RMT () |
virtual bool | getRelayStatus () |
virtual bool | isOnWire () |
virtual void | preQueueArrival (cObject *obj) |
virtual void | postQueueArrival (cObject *obj) |
virtual void | preQueueDeparture (cObject *obj) |
virtual void | postQueueDeparture (cObject *obj) |
virtual void | writeToPort (cObject *obj) |
virtual void | readFromPort (cObject *obj) |
![]() | |
RMTBase () | |
virtual | ~RMTBase () |
Protected Member Functions | |
virtual void | initialize () |
virtual void | handleMessage (cMessage *msg) |
virtual void | finish () |
void | recDel (cPacket *p) |
Private Types | |
enum | TraceEventType { MSG_SEND = 's', MSG_RECEIVE = 'r', MSG_ENQUEUE = '+', MSG_DEQUEUE = '-', MSG_DROP = 'd' } |
Private Member Functions | |
void | processMessage (cMessage *msg) |
void | relayPDUToPort (PDU *msg) |
void | relayPDUToEFCPI (PDU *msg) |
std::vector< RMTPort * > | fwTableLookup (const PDU *pdu) |
void | tracePDUEvent (const cPacket *pkt, TraceEventType eventType) |
void | setOnWire (bool status) |
void | enableRelay () |
void | disableRelay () |
void | createEfcpiGate (unsigned int efcpiId) |
void | deleteEfcpiGate (unsigned int efcpiId) |
Private Attributes | |
IntPDUForwarding * | fwd |
RMTModuleAllocator * | rmtAllocator |
bool | relayOn |
bool | onWire |
EfcpiMapping | efcpiOut |
EfcpiMapping | efcpiIn |
RMTQMonitorBase * | qMonPolicy |
RMTMaxQBase * | maxQPolicy |
RMTSchedulingBase * | schedPolicy |
QueueAllocBase * | qAllocPolicy |
QueueIDGenBase * | queueIdGenerator |
AddressComparatorBase * | addrComparator |
bool | tracing |
std::deque< cMessage * > | invalidPDUs |
simsignal_t | sigRMTNoConnID |
simsignal_t | sigRMTPacketError |
LisRMTQueuePDUPreRcvd * | lisRMTQueuePDUPreRcvd |
LisRMTQueuePDUPostRcvd * | lisRMTQueuePDUPostRcvd |
LisRMTQueuePDUPreSend * | lisRMTQueuePDUPreSend |
LisRMTQueuePDUSent * | lisRMTQueuePDUSent |
LisRMTPortReadyToServe * | lisRMTPortReadyToServe |
LisRMTPortReadyForRead * | lisRMTPortReadyForRead |
Friends | |
class | RA |
class | FAI |
|
private |
|
private |
Creates a gate to be used for connection to an EFCP instance.
efcpiId | CEP-id to be used in the gate's name |
Definition at line 339 of file RMT.cc.
Referenced by FAI::createBindings().
|
private |
Removes a gate used for an EFCP instance.
efcpiId | CEP-id of the gate meant for removal |
Definition at line 373 of file RMT.cc.
Referenced by FAI::deleteBindings().
|
inlineprivate |
Definition at line 130 of file RMT.h.
Referenced by RA::setRMTMode().
|
protectedvirtual |
A wrapper for forwarding table lookup.
pdu | PDU to forward |
Definition at line 404 of file RMT.cc.
Referenced by relayPDUToPort().
|
inlinevirtual |
|
protectedvirtual |
|
inlinevirtual |
Implements RMTBase.
Definition at line 70 of file RMT.h.
Referenced by RA::bindNFlowToNM1Flow(), RA::hasFlow(), and RA::postNFlowAllocation().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
private |
The main finite state machine of Relaying and Multiplexing task. Makes a decision about what to do with incoming message based on arrival gate, message type, message destination address and RMT mode of operation.
Definition at line 510 of file RMT.cc.
Referenced by handleMessage().
|
virtual |
|
protected |
Procedures executed when a PDU arrives into a queue.
obj | RMT queue object |
Definition at line 197 of file RMT.cc.
Referenced by postQueueArrival().
|
private |
|
private |
|
inlineprivate |
Definition at line 129 of file RMT.h.
Referenced by RA::setRMTMode().
|
private |
Append a line into the trace file.
pkt | packet |
eventType | event (receive/send/enqueue/dequeue/drop) |
Definition at line 148 of file RMT.cc.
Referenced by postQueueArrival(), and preQueueDeparture().
|
virtual |
|
private |
Definition at line 101 of file RMT.h.
Referenced by initialize(), and processMessage().
|
private |
Definition at line 93 of file RMT.h.
Referenced by createEfcpiGate(), deleteEfcpiGate(), and initialize().
|
private |
Definition at line 92 of file RMT.h.
Referenced by createEfcpiGate(), deleteEfcpiGate(), initialize(), and relayPDUToEFCPI().
|
private |
Definition at line 86 of file RMT.h.
Referenced by fwTableLookup(), initialize(), and relayPDUToPort().
|
private |
Definition at line 115 of file RMT.h.
Referenced by finish(), handleMessage(), processMessage(), relayPDUToEFCPI(), relayPDUToPort(), and ~RMT().
|
private |
Definition at line 126 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 125 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 122 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 121 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 123 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 124 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 96 of file RMT.h.
Referenced by initialize(), postQueueArrival(), and postQueueDeparture().
|
private |
Definition at line 90 of file RMT.h.
Referenced by fwTableLookup(), initialize(), and isOnWire().
|
private |
Definition at line 99 of file RMT.h.
Referenced by initialize().
|
private |
Definition at line 95 of file RMT.h.
Referenced by initialize(), postQueueArrival(), postQueueDeparture(), preQueueArrival(), and preQueueDeparture().
|
private |
Definition at line 100 of file RMT.h.
Referenced by initialize(), and relayPDUToPort().
|
private |
Definition at line 89 of file RMT.h.
Referenced by getRelayStatus(), initialize(), and processMessage().
|
private |
Definition at line 87 of file RMT.h.
Referenced by fwTableLookup(), initialize(), postQueueArrival(), and postQueueDeparture().
|
private |
Definition at line 97 of file RMT.h.
Referenced by initialize(), postQueueArrival(), readFromPort(), and writeToPort().
|
private |
Definition at line 119 of file RMT.h.
Referenced by initialize(), and relayPDUToEFCPI().
|
private |
Definition at line 120 of file RMT.h.
Referenced by initialize(), and postQueueArrival().
|
private |
Definition at line 108 of file RMT.h.
Referenced by initialize(), postQueueArrival(), and preQueueDeparture().