PPL Logo

pvtObjectNode Class Reference

A pvtObjects entry for storing poser data. More...

#include <pvtobj.h>

Collaboration diagram for pvtObjectNode:

Collaboration graph
[legend]

Public Member Functions

 pvtObjectNode ()
 Basic Constructor.
void set (POSE_TimeType ts, int idx, bool on, short int s, sim *p)
 Sets all data fields.
void setIdle ()
 Sets ovt to -1 to indicate idle.
bool isPresent ()
 Test present flag.
int isOptimistic ()
 Test if synchronization strategy is optimistic.
int isConservative ()
 Test if synchronization strategy is conservative.
POSE_TimeType getOVT ()
 Return ovt.
POSE_TimeType getOVT2 ()
 Return ovt2.
void setOVT (POSE_TimeType st)
 Set ovt to st.
void setOVT2 (POSE_TimeType st)
 Set ovt2 to st.
void addQdoTime (double t)
 Add time to qdo.
double getQdo ()
 Return qdo.
void resetQdo ()
 Reset qdo at start of quanta.
void dump ()
 Dump data fields.
void sanitize ()
 Check validity of data fields.

Data Fields

simlocalObjPtr
 A pointer to the actual poser.

Private Attributes

POSE_TimeType ovt
 Last reported safe time of poser.
POSE_TimeType ovt2
int index
 Index of poser in POSE_Objects array.
bool present
 Flag to indicate if object data is stored at this index.
short int sync
 The synchronization strategy of the poser (OPTIMISTIC or CONSERVATIVE).
double qdo
 Time spent executing events on this object within a DOP_QUANTA.

Detailed Description

A pvtObjects entry for storing poser data.

This class is used in pvtObjects to store poser data local to a processor.

Definition at line 11 of file pvtobj.h.


Constructor & Destructor Documentation

pvtObjectNode::pvtObjectNode (  )  [inline]

Basic Constructor.

Definition at line 28 of file pvtobj.h.


Member Function Documentation

void pvtObjectNode::set ( POSE_TimeType  ts,
int  idx,
bool  on,
short int  s,
sim p 
) [inline]

Sets all data fields.

Definition at line 30 of file pvtobj.h.

References idx, index, localObjPtr, ovt, ovt2, p, POSE_UnsetTS, present, qdo, PUP::s, and sync.

Referenced by pvtObjects::Delete(), and pvtObjects::Insert().

Here is the caller graph for this function:

void pvtObjectNode::setIdle (  )  [inline]

Sets ovt to -1 to indicate idle.

Definition at line 35 of file pvtobj.h.

References ovt, ovt2, and POSE_UnsetTS.

bool pvtObjectNode::isPresent (  )  [inline]

Test present flag.

Definition at line 37 of file pvtobj.h.

References present.

Referenced by PVT::startPhase().

Here is the caller graph for this function:

int pvtObjectNode::isOptimistic (  )  [inline]

Test if synchronization strategy is optimistic.

Definition at line 39 of file pvtobj.h.

References sync.

Referenced by PVT::startPhase().

Here is the caller graph for this function:

int pvtObjectNode::isConservative (  )  [inline]

Test if synchronization strategy is conservative.

Definition at line 41 of file pvtobj.h.

References sync.

Referenced by PVT::startPhase().

Here is the caller graph for this function:

POSE_TimeType pvtObjectNode::getOVT (  )  [inline]

Return ovt.

Definition at line 43 of file pvtobj.h.

References ovt.

Referenced by PVT::objUpdateOVT(), and PVT::startPhase().

Here is the caller graph for this function:

POSE_TimeType pvtObjectNode::getOVT2 (  )  [inline]

Return ovt2.

Definition at line 45 of file pvtobj.h.

References ovt2.

Referenced by PVT::objUpdateOVT(), and PVT::startPhase().

Here is the caller graph for this function:

void pvtObjectNode::setOVT ( POSE_TimeType  st  )  [inline]

Set ovt to st.

Definition at line 47 of file pvtobj.h.

References ovt.

Referenced by PVT::objUpdateOVT().

Here is the caller graph for this function:

void pvtObjectNode::setOVT2 ( POSE_TimeType  st  )  [inline]

Set ovt2 to st.

Definition at line 49 of file pvtobj.h.

References ovt2.

Referenced by PVT::objUpdateOVT().

Here is the caller graph for this function:

void pvtObjectNode::addQdoTime ( double  t  )  [inline]

Add time to qdo.

Definition at line 51 of file pvtobj.h.

References qdo.

double pvtObjectNode::getQdo (  )  [inline]

Return qdo.

Definition at line 53 of file pvtobj.h.

References qdo.

void pvtObjectNode::resetQdo (  )  [inline]

Reset qdo at start of quanta.

Definition at line 55 of file pvtobj.h.

References qdo.

void pvtObjectNode::dump (  )  [inline]

Dump data fields.

Definition at line 57 of file pvtobj.h.

References index, localObjPtr, ovt, present, and sync.

Referenced by pvtObjects::dump().

Here is the caller graph for this function:

void pvtObjectNode::sanitize (  ) 

Check validity of data fields.

pvtObjects: a list to hold records of posers registered with a PVT branch.

Check validity of data fields

Definition at line 5 of file pvtobj.C.

References index, sim::IsActive(), localObjPtr, ovt, present, and sync.

Here is the call graph for this function:


Field Documentation

Last reported safe time of poser.

Definition at line 13 of file pvtobj.h.

Referenced by dump(), getOVT(), sanitize(), set(), setIdle(), and setOVT().

Definition at line 13 of file pvtobj.h.

Referenced by getOVT2(), set(), setIdle(), and setOVT2().

Index of poser in POSE_Objects array.

Definition at line 15 of file pvtobj.h.

Referenced by dump(), sanitize(), and set().

Flag to indicate if object data is stored at this index.

present==true indicates that this node contains a valid object, present==false indicates the node can be recycled

Definition at line 19 of file pvtobj.h.

Referenced by dump(), isPresent(), sanitize(), and set().

short int pvtObjectNode::sync [private]

The synchronization strategy of the poser (OPTIMISTIC or CONSERVATIVE).

Definition at line 21 of file pvtobj.h.

Referenced by dump(), isConservative(), isOptimistic(), sanitize(), and set().

double pvtObjectNode::qdo [private]

Time spent executing events on this object within a DOP_QUANTA.

Definition at line 23 of file pvtobj.h.

Referenced by addQdoTime(), getQdo(), resetQdo(), and set().


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

Generated on Mon Sep 21 08:28:57 2020 for Charm++ by  doxygen 1.5.5