fixing log problem, and little modification to the interface to allow
[charm.git] / src / conv-com / convcomlibstrategy.C
index 636c2dda96e3bafb5ab0953f8d8ea3e8258d59de..ed97437579a71996eecf3f6c45c45834c72bb6f7 100644 (file)
@@ -13,46 +13,32 @@ Strategy::Strategy() : PUP::able() {
     myInstanceID = 0;
     type = CONVERSE_STRATEGY;
     converseStrategy = this;
+    higherLevel = this;
+    isStrategyBracketed = 0;
+    destinationHandler = 0;
 };
 
 //Each strategy must define his own Pup interface.
 void Strategy::pup(PUP::er &p){ 
-
-    PUP::able::pup(p);
+    
+    //PUP::able::pup(p);
 
     p | isStrategyBracketed;
     p | type;
-}
+    p | destinationHandler;
 
+    if (p.isUnpacking()) {
+      converseStrategy = this;
+      higherLevel = this;
+    }
+}
 
 //Message holder functions. Message holder is a wrapper around a
 //message. Has other useful data like destination processor list for a
 //multicast etc.
 
-MessageHolder::MessageHolder(char * msg, int proc, int sz) : PUP::able() {
-    data = msg;
-    dest_proc = proc;
-    size = sz;
-    
-    isDummy = 0;
-
-    npes = 0;
-    pelist = 0;
-}
-
-MessageHolder::~MessageHolder() {
-    /*
-      if(pelist != NULL && npes > 0)
-      delete[] pelist;
-    */
-}
-
-char * MessageHolder::getMessage(){
-    return data;
-}
-
 void MessageHolder::pup(PUP::er &p) {
-    PUP::able::pup(p);
+    //PUP::able::pup(p);
 
     p | dest_proc;
     p | isDummy;