LBObj Class Reference
[Charm++ Load Balancing Framework]

#include <LBObj.h>

Collaboration diagram for LBObj:

Collaboration graph
[legend]

Public Member Functions

 LBObj (LBDB *_parentDB, const LDObjHandle &_h, void *usr_ptr=NULL, CmiBool _migratable=CmiTrue, CmiBool _asyncArrival=CmiFalse)
 ~LBObj ()
 LBObj (LBDB *_parentDB, LDOMHandle _omhandle, LDObjid _id, void *_userData=0, CmiBool _migratable=CmiTrue)
void DepositHandle (const LDObjHandle &_h)
void Clear (void)
void IncrementTime (double walltime, double cputime)
void StartTimer (void)
void StopTimer (double *walltime, double *cputime)
void setTiming (double cputime)
LDOMHandleparentOM ()
const LDObjHandleGetLDObjHandle () const
void SetMigratable (CmiBool mig)
void UseAsyncMigrate (CmiBool async)
LDObjDataObjData ()
void lastKnownLoad (double *c, double *w)
void * getUserData ()

Private Attributes

LBDBparentDB
void * userData
LDObjData data
double startWTime
double startCTime
double lastCpuTime
double lastWallTime

Friends

class LBDB

Detailed Description

Definition at line 20 of file LBObj.h.


Constructor & Destructor Documentation

LBObj::LBObj ( LBDB _parentDB,
const LDObjHandle _h,
void *  usr_ptr = NULL,
CmiBool  _migratable = CmiTrue,
CmiBool  _asyncArrival = CmiFalse 
) [inline]

Definition at line 25 of file LBObj.h.

References LDObjData::asyncArrival, Clear(), data, LDObjData::handle, lastCpuTime, lastWallTime, LDObjData::migratable, parentDB, startCTime, startWTime, and userData.

LBObj::~LBObj (  )  [inline]

Definition at line 42 of file LBObj.h.

LBObj::LBObj ( LBDB _parentDB,
LDOMHandle  _omhandle,
LDObjid  _id,
void *  _userData = 0,
CmiBool  _migratable = CmiTrue 
) [inline]

Definition at line 45 of file LBObj.h.

References CmiFalse, and parentDB.


Member Function Documentation

void LBObj::DepositHandle ( const LDObjHandle _h  )  [inline]

Definition at line 55 of file LBObj.h.

References CmiTrue, LDObjData::cpuTime, data, LDObjData::handle, LDObjData::migratable, and LDObjData::wallTime.

Referenced by LBDB::AddObj().

void LBObj::StartTimer ( void   )  [inline]

Definition at line 70 of file LBObj.h.

References startCTime, and startWTime.

Referenced by LDCollectStatsOn(), and LDObjectStart().

void LBObj::StopTimer ( double *  walltime,
double *  cputime 
) [inline]

Definition at line 78 of file LBObj.h.

References startCTime, and startWTime.

Referenced by LDObjectStop().

void LBObj::setTiming ( double  cputime  )  [inline]

Definition at line 94 of file LBObj.h.

References LDObjData::cpuTime, data, and LDObjData::wallTime.

Referenced by LBDatabase::EstObjLoad().

LDOMHandle& LBObj::parentOM (  )  [inline]

Definition at line 100 of file LBObj.h.

References data, LDObjData::handle, and LDObjHandle::omhandle.

const LDObjHandle& LBObj::GetLDObjHandle (  )  const [inline]

Definition at line 101 of file LBObj.h.

References data, and LDObjData::handle.

Referenced by LDGetObjHandle().

void LBObj::SetMigratable ( CmiBool  mig  )  [inline]

Definition at line 102 of file LBObj.h.

References data, and LDObjData::migratable.

Referenced by LDMigratable(), and LDNonMigratable().

void LBObj::UseAsyncMigrate ( CmiBool  async  )  [inline]

Definition at line 103 of file LBObj.h.

References LDObjData::asyncArrival, and data.

Referenced by LDAsyncMigrate().

LDObjData& LBObj::ObjData (  )  [inline]

Definition at line 104 of file LBObj.h.

References data.

void LBObj::lastKnownLoad ( double *  c,
double *  w 
) [inline]

Definition at line 105 of file LBObj.h.

References lastCpuTime, and lastWallTime.

Referenced by LDQueryKnownObjLoad().

void* LBObj::getUserData (  )  [inline]

Definition at line 106 of file LBObj.h.

References userData.

Referenced by LDObjUserData().


Friends And Related Function Documentation

friend class LBDB [friend]

Definition at line 22 of file LBObj.h.


Field Documentation

LBDB* LBObj::parentDB [private]

Definition at line 109 of file LBObj.h.

Referenced by IncrementTime(), and LBObj().

void* LBObj::userData [private]

Definition at line 110 of file LBObj.h.

Referenced by getUserData(), and LBObj().

LDObjData LBObj::data [private]

Definition at line 113 of file LBObj.h.

Referenced by Clear(), DepositHandle(), GetLDObjHandle(), IncrementTime(), LBObj(), ObjData(), parentOM(), SetMigratable(), setTiming(), and UseAsyncMigrate().

double LBObj::startWTime [private]

Definition at line 115 of file LBObj.h.

Referenced by LBObj(), StartTimer(), and StopTimer().

double LBObj::startCTime [private]

Definition at line 116 of file LBObj.h.

Referenced by LBObj(), StartTimer(), and StopTimer().

double LBObj::lastCpuTime [private]

Definition at line 117 of file LBObj.h.

Referenced by lastKnownLoad(), and LBObj().

double LBObj::lastWallTime [private]

Definition at line 118 of file LBObj.h.

Referenced by lastKnownLoad(), and LBObj().


The documentation for this class was generated from the following files:
Generated on Sun Jun 29 13:33:52 2008 for Charm++ by  doxygen 1.5.1