Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsnScheduler Class Reference

Abstract class encapsulating all the scheduling functionnality. More...

#include <PsnScheduler.h>

Inheritance diagram for PsnScheduler:

Inheritance graph
[legend]
List of all members.

Public Methods

 PsnScheduler (unsigned int numberOfSteps)
 constructor, specifying the numeber of different simulation stpes in a simualtion cycle

virtual ~PsnScheduler ()=0
 destructor

virtual void addToScheduable (PsnReferenceObjectHandle *ref, unsigned int when)=0
 add an object to the list of scheduable objects

virtual void removeFromScheduable (PsnReferenceObjectHandle *ref)=0
 remove an object from the list of scheduable objects

virtual void schedule (PsnReferenceObjectHandle *ref)=0
 mark an object as active

virtual void unschedule (PsnReferenceObjectHandle *ref)=0
 mark an object as inactive

virtual void runStep (unsigned int which)=0
 run the scheduler for a certain simulation step


Protected Methods

virtual void setComputingState (PsnReferenceObjectHandle *, PsnReferenceObjectHandle::SimulatedObjectComputingState) const
 change the computing state of a reference object handle


Protected Attributes

unsigned int _numberOfSteps
 remember the number of simulation steps in a simualtion cycle


Detailed Description

Abstract class encapsulating all the scheduling functionnality.

Definition at line 23 of file PsnScheduler.h.


Constructor & Destructor Documentation

PsnScheduler::PsnScheduler unsigned int    numberOfSteps
 

constructor, specifying the numeber of different simulation stpes in a simualtion cycle

Definition at line 32 of file PsnScheduler.cxx.

00032                                                      :
00033    _numberOfSteps (numberOfSteps) {
00034 
00035 }

PsnScheduler::~PsnScheduler   [pure virtual]
 

destructor

Definition at line 37 of file PsnScheduler.cxx.

00037                             {
00038 
00039 }


Member Function Documentation

virtual void PsnScheduler::addToScheduable PsnReferenceObjectHandle   ref,
unsigned int    when
[pure virtual]
 

add an object to the list of scheduable objects

Parameters:
ref the reference handler of the added object
when the index in the cycle of the simulation step where the object should be added

Implemented in PsnBenchScheduler, PsnFrameScheduler, PsnMultiThreadedAsynchronousScheduler, PsnMultiThreadedBenchmarkingScheduler, PsnMultiThreadedScheduler, and PsnReactFrameScheduler.

Referenced by PsnMultiThreadedScheduler::addToScheduable(), PsnMultiThreadedBenchmarkingScheduler::addToScheduable(), and PsController::scheduleObject().

virtual void PsnScheduler::removeFromScheduable PsnReferenceObjectHandle   ref [pure virtual]
 

remove an object from the list of scheduable objects

Implemented in PsnBenchScheduler, PsnFrameScheduler, PsnMultiThreadedAsynchronousScheduler, PsnMultiThreadedBenchmarkingScheduler, PsnMultiThreadedScheduler, and PsnReactFrameScheduler.

Referenced by PsController::reactToControlledObjectsSystemEvents(), PsnMultiThreadedScheduler::removeFromScheduable(), PsnMultiThreadedBenchmarkingScheduler::removeFromScheduable(), and PsController::removeObjectFromDataStructures().

virtual void PsnScheduler::runStep unsigned int    which [pure virtual]
 

run the scheduler for a certain simulation step

Parameters:
which the index in the cycle of the step to be run

Implemented in PsnBenchScheduler, PsnFrameScheduler, PsnMultiThreadedAsynchronousScheduler, PsnMultiThreadedBenchedScheduler, PsnMultiThreadedBenchmarkingScheduler, PsnMultiThreadedScheduler, and PsnReactFrameScheduler.

Referenced by PsController::computeNextSimulationStep(), PsnMultiThreadedScheduler::runStep(), and PsnMultiThreadedBenchmarkingScheduler::runStep().

virtual void PsnScheduler::schedule PsnReferenceObjectHandle   ref [pure virtual]
 

mark an object as active

Implemented in PsnFrameScheduler, PsnMultiThreadedAsynchronousScheduler, PsnMultiThreadedBenchmarkingScheduler, PsnMultiThreadedScheduler, and PsnReactFrameScheduler.

Referenced by PsController::processStartEventOf(), PsController::reactToControlledObjectsSystemEvents(), PsnMultiThreadedScheduler::schedule(), PsnMultiThreadedBenchmarkingScheduler::schedule(), and PsController::scheduleObject().

void PsnScheduler::setComputingState PsnReferenceObjectHandle  ,
PsnReferenceObjectHandle::SimulatedObjectComputingState   
const [protected, virtual]
 

change the computing state of a reference object handle

Definition at line 41 of file PsnScheduler.cxx.

References PsnReferenceObjectHandle::_computingState, and PsnReferenceObjectHandle::SimulatedObjectComputingState.

Referenced by PsnMultiThreadedAsynchronousScheduler::addToScheduable().

00043 {
00044    objectHandle->_computingState = state ;
00045 }

virtual void PsnScheduler::unschedule PsnReferenceObjectHandle   ref [pure virtual]
 

mark an object as inactive

Implemented in PsnFrameScheduler, PsnMultiThreadedAsynchronousScheduler, PsnMultiThreadedBenchmarkingScheduler, PsnMultiThreadedScheduler, and PsnReactFrameScheduler.

Referenced by PsController::reactToControlledObjectsSystemEvents(), PsController::removeObjectFromDataStructures(), PsnMultiThreadedScheduler::unschedule(), and PsnMultiThreadedBenchmarkingScheduler::unschedule().


Member Data Documentation

unsigned int PsnScheduler::_numberOfSteps [protected]
 

remember the number of simulation steps in a simualtion cycle

Definition at line 58 of file PsnScheduler.h.

Referenced by PsnFrameScheduler::PsnFrameScheduler(), PsnFrameScheduler::removeFromScheduable(), PsnFrameScheduler::schedule(), PsnFrameScheduler::unschedule(), and PsnFrameScheduler::~PsnFrameScheduler().


The documentation for this class was generated from the following files:
logo OpenMask

Documentation generated on Mon Nov 25 15:26:24 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001