A gate that belongs to a cross-partition link and represents the remote gate on the local partition. cProxyGate's belong to cPlaceholderModule objects, which represent a "remote" module in the local partition.
This class basically exists so that we can override the deliver() method of cGate so that it doesn't pass arriving messages to the module object but to parallel simulation layer (cParsimPartition) instead – so cParsimPartition can deliver them to the remote partition.
cProxyGate contains the address of the corresponding remote gate as a (procId, moduleId, gateId) triplet:
Inherits cGate.
Public Member Functions | |
Redefined cObject member functions | |
virtual std::string | str () const override |
Redefined cGate member functions | |
virtual bool | deliver (cMessage *msg, const SendOptions &options, simtime_t at) override |
Address of remote gate | |
void | setRemoteGate (short procId, int moduleId, int gateId) |
short | getRemoteProcId () |
int | getRemoteModuleId () |
int | getRemoteGateId () |
cParsimPartition pointer | |
void | setPartition (cParsimPartition *seg) |
cParsimPartition * | getPartition () |
Generic associated data pointer | |
void | setSynchData (void *data) |
void * | getSynchData () |
|
overridevirtual |
Redefined here to display remoteProcId, remoteModId and remoteGateId.
|
overridevirtual |
Redefined to pass message to the parallel simulation layer, cParsimPartition.
Invokes the cParsimPartition::processOutgoingMessage() method to transmit the message, then deletes the message object.
void setRemoteGate | ( | short | procId, |
int | moduleId, | ||
int | gateId | ||
) |
Sets remote gate address.
|
inline |
Returns partition where remote gate resides.
|
inline |
Returns module Id in remote partition where remote gate resides.
|
inline |
Returns Id of remote gate in remote partition and remote module.
|
inline |
Sets cParsimPartition object.
|
inline |
Returns pointer to cParsimPartition object.
|
inline |
Sets the data pointer in this object. This pointer is used by the parallel simulation synchronizaton layer (cParsimSynchronizer) to store additional information about the gate.
|
inline |
Returns the data pointer in this object.