#include <PsPvmController.h>
Inheritance diagram for PsPvmController:


Public Methods | |
| PsPvmController (PsObjectDescriptor &arbre, const PsDate &initialSimulationDate, int argc, char *argv[]) | |
| Constructor The constructor initializes the distributed virtual machine. | |
| virtual | ~PsPvmController () |
| Destructor. | |
| virtual void | run () |
| redefine run so that it does nothing unless the controller belongs to a spawned process | |
| virtual void | advanceSimulatedDate () |
| redefine advanceSimulatedDate to include datation of synchronisation messages any try to send data between a call to computeNextSimualtionStep and advanceSimulatedDate will cause an assertion to fail | |
| virtual void | computeNextSimulationStep () |
| redefine computeNextSimulationStep to include the synchronisation primitives | |
| virtual void | finish () |
| redefine to avoid going into blocking mode when finishing the simulation | |
| virtual const PsName & | getProcessName () const |
| get the name of the process this controller is controlling | |
| virtual PsnSvm * | getDistributedVirtualMachine () |
| get access to the siames distributed virtual machine | |
| virtual void | makeSynchronisationMessage (PsNameToPointerMap< PsnReferenceObjectHandle > &referenceObjects) |
| make the synchronisation message to be sent to all processes | |
| virtual void | parseSynchronisationMessage (PsnPvmIncomingMessage *message) |
| parse the received synchronisation messages. | |
| virtual void | waitForAnswerToBlockingRequest (PsnPvmMessage::MessageTag tag) |
| waitForAnswerToBlockingRequest. | |
| virtual void | sendInitialValuesToMirror (PsnPvmIncomingMessage &message) |
| answer to a MirrorNeedsInitialValues message received by the distributed subsystem | |
| virtual void | init () |
| redefine for distributed initialisation | |
Protected Methods | |
| virtual PsDate | getPurgeDate () |
| redefine to take latency into account | |
| virtual PsnMirrorObjectHandle * | createMirrorObject (PsObjectDescriptor *objectDescription) |
| Create a miror object. | |
| PsnDuplicatedObjectHandle * | newPsnDuplicatedObjectHandle (PsSimulatedObject &object) |
| create an object handle adapted to handling of duplicated objects | |
| PsnMirrorObjectHandle * | newPsnMirrorObjectHandle (PsSimulatedObject &obj) |
| create an object handle for objects mirrored by this controller | |
| virtual PsnReferenceObjectHandle * | newPsnReferenceObjectHandle (PsSimulatedObject &object, PsController &controller, PsnSignalDispatcher *signalDispatcher) |
| create a reference object handler appropriate for this controller | |
| virtual int | getOutputHistorySize (void) |
| get the size of the history fifo needed when running a distributed simulation. | |
| virtual PsnObjectHandle * | removeObjectFromDataStructures (const PsName &nom) |
| gestion de la destruction distribuée : destruction des structures locales | |
Protected Attributes | |
| PsnSvm * | _distributedVirtualMachine |
| the distributed virtual machine used by the controller | |
| bool | _finishing |
| boolean indicating the controller is going into shutdown mode. | |
the local controller is in charge of
Definition at line 46 of file PsPvmController.h.
|
||||||||||||||||||||
|
Constructor The constructor initializes the distributed virtual machine. The created distributed virtual machine acts as a server if the process wasn't spawned. Other wise, the controller acts a a local controller synchronized throught the distributed virtual machine to the other controllers |
|
|
Destructor.
|
|
|
redefine advanceSimulatedDate to include datation of synchronisation messages any try to send data between a call to computeNextSimualtionStep and advanceSimulatedDate will cause an assertion to fail
Reimplemented from PsController. |
|
|
redefine computeNextSimulationStep to include the synchronisation primitives
Reimplemented from PsController. Reimplemented in PsMultiThreadedPvmController. Referenced by PsMultiThreadedPvmController::computeNextSimulationStep(). |
|
|
Create a miror object.
Reimplemented from PsDistributedController. |
|
|
redefine to avoid going into blocking mode when finishing the simulation
Reimplemented from PsController. |
|
|
get access to the siames distributed virtual machine
|
|
|
get the size of the history fifo needed when running a distributed simulation. The result depends on the latency used Reimplemented from PsController. |
|
|
get the name of the process this controller is controlling
Referenced by PsnMirrorObjectHandle::registerToReferenceObject(). |
|
|
redefine to take latency into account
Reimplemented from PsController. |
|
|
redefine for distributed initialisation
Reimplemented from PsController. |
|
|
make the synchronisation message to be sent to all processes
|
|
|
create an object handle adapted to handling of duplicated objects
Implements PsDistributedController. |
|
|
create an object handle for objects mirrored by this controller
Implements PsDistributedController. |
|
||||||||||||||||
|
create a reference object handler appropriate for this controller
Reimplemented from PsController. |
|
|
parse the received synchronisation messages. this member function is called by the siames virtual machine when it receives synchronisation messages from distant workstations
Referenced by PsnSvm::processReceivedMessages(), PsnSvm::synchroniseReceiveAndProcessMessages(), PsnSvm::waitAndProcessMessages(), PsnSvm::waitForAnswerToBlockingRequest(), PsnSvm::waitForMessage(), and PsnSvm::waitForMessageFrom(). |
|
|
gestion de la destruction distribuée : destruction des structures locales
Reimplemented from PsController. |
|
|
redefine run so that it does nothing unless the controller belongs to a spawned process
Reimplemented from PsController. Reimplemented in PsMultiThreadedPvmController. Referenced by PsMultiThreadedPvmController::run(). |
|
|
answer to a MirrorNeedsInitialValues message received by the distributed subsystem
Referenced by PsnSvm::synchroniseReceiveAndProcessMessages(), and PsnSvm::waitForAnswerToBlockingRequest(). |
|
|
waitForAnswerToBlockingRequest. make the controller fall bake in a server mode until message tag arrives and is succesfully processed Referenced by PsnMirrorObjectHandle::registerToReferenceObject(). |
|
|
the distributed virtual machine used by the controller
Definition at line 154 of file PsPvmController.h. |
|
|
boolean indicating the controller is going into shutdown mode. No blocking calls should be made Definition at line 163 of file PsPvmController.h. |
| Documentation generated on Mon Nov 25 15:26:21 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |