Public Member Functions | Public Attributes | Static Protected Attributes | List of all members
DEBaseSched Class Referenceabstract
Inheritance diagram for DEBaseSched:
CQScheduler DEPriorityFreeScheduler DEPriorityScheduler DERCScheduler DEScheduler MutableCQScheduler

Public Member Functions

int checkDelayFreeLoop ()
 
const char * className () const
 
int computeDepth ()
 
const char * domain () const
 
virtual int fetchEvent (InDEPort *p, double timeVal)
 
int isA (const char *) const
 
virtual double nextEvent () const =0
 
virtual BasePrioQueue * queue ()
 
virtual double whenStop ()
 

Public Attributes

double relTimeScale
 

Static Protected Attributes

static const int cDefaultToUniversalPriority = -1
 
int checkLoop (PortHole *p, DEStar *s)
 
int setDepth (PortHole *p, DEStar *s)
 
int errorDelayFree (PortHole *p)
 
void errorUndefined (PortHole *p)
 

Member Function Documentation

int DEBaseSched::checkLoop ( PortHole *  p,
DEStar s 
)
protected

utility subroutines shared by all (or at least most) DE schedulersdetect the delay-free loop

int DEBaseSched::errorDelayFree ( PortHole *  p)
protected

report error conditions

void DEBaseSched::errorUndefined ( PortHole *  p)
protected

report a undefined porthole finelevel

virtual double DEBaseSched::nextEvent ( ) const
pure virtual

Query whether there are pending events. Useful for DE inside wormholes. If there are no events, return a negative number.

Author
Andreas Franck

Implemented in DEPriorityFreeScheduler, DEScheduler, CQScheduler, MutableCQScheduler, DERCScheduler, and DEPriorityScheduler.

int DEBaseSched::setDepth ( PortHole *  p,
DEStar s 
)
protected

set the depth of the DEStars.

Member Data Documentation

const int DEBaseSched::cDefaultToUniversalPriority = -1
staticprotected

Fixed finelevel for all wormhole boundary outputs