removed the redundent user data ptr in LBOM/LBOMHandle and LBObj/LBObjHandle
authorGengbin Zheng <gzheng@illinois.edu>
Mon, 20 Jan 2003 06:09:24 +0000 (06:09 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Mon, 20 Jan 2003 06:09:24 +0000 (06:09 +0000)
src/ck-ldb/LBDBManager.C
src/ck-ldb/LBOM.h
src/ck-ldb/LBObj.h
src/ck-ldb/lbdb.C
src/ck-ldb/lbdb.h

index cb977151bd84fa8a59e0ad60606a18012e34e148..a072c8231558a21cc0a6da93d9831f03cc522f60 100644 (file)
@@ -69,7 +69,7 @@ LDOMHandle LBDB::AddOM(LDOMid _userID, void* _userData,
   LDOMHandle newhandle;
 
   newhandle.ldb.handle = (void*)(this);
-  newhandle.user_ptr = _userData;
+//  newhandle.user_ptr = _userData;
   newhandle.id = _userID;
 
   LBOM* om = new LBOM(this,_userID,_userData,_callbacks);
@@ -88,12 +88,12 @@ LDObjHandle LBDB::AddObj(LDOMHandle _omh, LDObjid _id,
   LDObjHandle newhandle;
 
   newhandle.omhandle = _omh;
-  newhandle.user_ptr = _userData;
+//  newhandle.user_ptr = _userData;
   newhandle.id = _id;
   
 #if 1
   newhandle.handle = objs.length();
-  LBObj *obj = new LBObj(this, newhandle, _migratable);
+  LBObj *obj = new LBObj(this, newhandle, _userData, _migratable);
   objs.insertAtEnd(obj);
 #else
   LBObj *obj = new LBObj(this,_omh,_id,_userData,_migratable);
index 17ed769fea2de54997922955ebe08fbff8ba2bbb..e4300bca3994935210505af6e653f7db2a5c1097 100644 (file)
@@ -25,6 +25,8 @@ friend class LBDB;
 public:
   LDOMid id() { return myid; };
 
+  void *getUserData() { return userData; }
+
 private:
   LBOM() { };
 
index d03ad9576866ead855bcf45ce8eaf6beffd6f707..cd6448fa1761b42a760930214ea1a971bc7f046c 100644 (file)
@@ -22,11 +22,12 @@ class LBObj
 friend class LBDB;
 
 public:
-  LBObj(LBDB *_parentDB, const LDObjHandle &_h, CmiBool _migratable=CmiTrue) {
+  LBObj(LBDB *_parentDB, const LDObjHandle &_h, void *usr_ptr = NULL, CmiBool _migratable=CmiTrue) {
     data.handle = _h;
     data.migratable = _migratable;
     data.cpuTime = 0.;
     data.wallTime = 0.;
+    userData = usr_ptr;
     parentDB = _parentDB;
     migratable = _migratable;
     registered = CmiTrue;
@@ -69,13 +70,14 @@ public:
   inline void SetMigratable(int mig) { data.migratable = mig; }
   inline LDObjData &ObjData() { return data; };
   inline void lastKnownLoad(double *c, double *w) {*c=lastCpuTime; *w=lastWallTime; }
+  inline void *getUserData() { return  userData; }
 private:
 
   LBDB* parentDB;
 //  LDOMHandle parentOM;
 //  LDObjHandle myhandle;
   LDObjData data;
-//  void *userData;
+  void *userData;
   double startWTime;
   double startCTime;
   double lastCpuTime;
index b01795607412fb4a2243dc5b1bdfbc8a6b0c0bf4..f0b8f3d4f3bf445ea80ae1c980835919323e4d11 100644 (file)
@@ -35,6 +35,12 @@ extern "C" LDOMHandle LDRegisterOM(LDHandle _db, LDOMid _userID,
   return db->AddOM(_userID, _userptr, _callbacks);
 }
 
+extern "C" void * LDOMUserData(LDOMHandle &_h)
+{
+  LBDB *const db = (LBDB*)(_h.ldb.handle);
+  return db->LbOM(_h)->getUserData();
+}
+
 extern "C" void LDRegisteringObjects(LDOMHandle _h)
 {
   LBDB *const db = (LBDB*)(_h.ldb.handle);
@@ -76,6 +82,13 @@ extern "C" void LDQueryKnownObjLoad(LDObjHandle &_h, double *cpuT, double *wallT
   obj->lastKnownLoad(cpuT, wallT);
 }
 
+extern "C" void * LDObjUserData(LDObjHandle &_h)
+{
+  LBDB *const db = (LBDB*)(_h.omhandle.ldb.handle);
+  LBObj *const obj = db->LbObj(_h);
+  return obj->getUserData();
+}
+
 extern "C" void LDDumpDatabase(LDHandle _db)
 {
   LBDB *const db = (LBDB*)(_db.handle);
index 3be98078da5d1bdf6e6e2cb227e65c4530e84da1..d49f498a5959fb4d78f6838931501e61564919a0 100644 (file)
@@ -23,7 +23,7 @@ extern "C" {
 typedef void* cvoid; /* To eliminate warnings, because a C void* is not
                        the same as a C++ void* */
 
-  /*  User-defined object IDs will be 4 ints long */
+  /*  User-defined object ID is 4 ints long */
 #define OBJ_ID_SZ 4
 
 #if CMK_LBDB_ON
@@ -40,7 +40,7 @@ typedef struct {
 
 typedef struct {
   LDHandle ldb;
-  void *user_ptr;
+//  void *user_ptr;
   LDOMid id;
   int handle;          // index to LBOM
 } LDOMHandle;
@@ -56,10 +56,11 @@ typedef struct _LDObjid {
 } LDObjid;
 
 typedef int LDObjIndex;
+typedef int LDOMIndex;
 
 typedef struct {
   LDOMHandle omhandle;
-  void *user_ptr;
+//  void *user_ptr;
   LDObjid id;
   LDObjIndex  handle;
 } LDObjHandle;
@@ -123,6 +124,7 @@ LDHandle LDCreate(void);
 
 LDOMHandle LDRegisterOM(LDHandle lbdb, LDOMid userID, 
                        void *userptr, LDCallbacks cb);
+void * LDOMUserData(LDOMHandle &_h);
 void LDRegisteringObjects(LDOMHandle _h);
 void LDDoneRegisteringObjects(LDOMHandle _h);
 
@@ -130,6 +132,7 @@ LDObjHandle LDRegisterObj(LDOMHandle h, LDObjid id, void *userptr,
                          int migratable);
 void LDUnregisterObj(LDObjHandle h);
 
+void * LDObjUserData(LDObjHandle &_h);
 void LDObjTime(LDObjHandle &h, double walltime, double cputime);
 int LDRunningObject(LDHandle _h, LDObjHandle* _o );
 void LDObjectStart(const LDObjHandle &_h);