cProxyGate Class Reference
[Parallel simulation support]

A gate that belongs to a cross-partition link and represents the remote gate on the local partition. More...

#include <cproxygate.h>

Inheritance diagram for cProxyGate:

cGate cObject cPolymorphic List of all members.

Public Member Functions

Constructor, destructor, copying
 cProxyGate (const char *name, char tp)
 cProxyGate (const cProxyGate &gate)
virtual ~cProxyGate ()
Redefined cObject member functions
virtual cPolymorphicdup () const
cProxyGateoperator= (const cProxyGate &gate)
virtual std::string info () const
Redefined cGate member functions
virtual bool deliver (cMessage *msg, simtime_t at)
Address of remote gate
void setRemoteGate (int procId, int moduleId, int gateId)
int getRemoteProcId ()
int getRemoteModuleId ()
int getRemoteGateId ()
cParsimPartition pointer
void setPartition (cParsimPartition *seg)
cParsimPartitiongetPartition ()
Generic associated data pointer
void setSynchData (void *data)
void * getSynchData ()

Detailed Description

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:


Constructor & Destructor Documentation

cProxyGate::cProxyGate const char *  name,
char  tp
 

Constructor.

cProxyGate::cProxyGate const cProxyGate gate  ) 
 

Copy constructor.

virtual cProxyGate::~cProxyGate  )  [inline, virtual]
 

Destructor.


Member Function Documentation

virtual bool cProxyGate::deliver cMessage msg,
simtime_t  at
[virtual]
 

Redefined to pass message to the parallel simulation layer, cParsimPartition.

Invokes the cParsimPartition::processOutgoingMessage() method to transmit the message, then deletes the message object.

Reimplemented from cGate.

virtual cPolymorphic* cProxyGate::dup  )  const [inline, virtual]
 

Duplicates the gate object.

Reimplemented from cGate.

cParsimPartition* cProxyGate::getPartition  )  [inline]
 

Returns pointer to cParsimPartition object.

int cProxyGate::getRemoteGateId  )  [inline]
 

Returns Id of remote gate in remote partition and remote module.

int cProxyGate::getRemoteModuleId  )  [inline]
 

Returns module Id in remote partition where remote gate resides.

int cProxyGate::getRemoteProcId  )  [inline]
 

Returns partition where remote gate resides.

void* cProxyGate::getSynchData  )  [inline]
 

Returns the data pointer in this object.

virtual std::string cProxyGate::info  )  const [virtual]
 

Redefined here to display remoteProcId, remoteModId and remoteGateId.

Reimplemented from cGate.

cProxyGate& cProxyGate::operator= const cProxyGate gate  ) 
 

Assigment operator.

void cProxyGate::setPartition cParsimPartition seg  )  [inline]
 

Sets cParsimPartition object.

void cProxyGate::setRemoteGate int  procId,
int  moduleId,
int  gateId
 

Sets remote gate address.

void cProxyGate::setSynchData void *  data  )  [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.


The documentation for this class was generated from the following file:
Generated on Sat Oct 21 17:48:01 2006 for OMNeT++ Parallel Simulation Support by  doxygen 1.4.6