add pup support
[charm.git] / src / ck-core / ckmemcheckpoint.ci
1 // double checkpointing in memory
2
3 module CkMemCheckpoint {
4
5   readonly CkGroupID ckCheckPTGroupID;
6
7   message CkArrayCheckPTMessage {
8         double packData[];
9   };    
10   message CkCheckPTMessage {
11         double packData[];
12   };    
13   message CkProcCheckPTMessage {
14         char packData[];
15   };    
16   message CkArrayCheckPTReqMessage;
17
18   group [migratable] CkMemCheckPT {
19         entry CkMemCheckPT(int w);
20         entry void createEntry(CkArrayID, CkGroupID, CkArrayIndex, int);
21         // checkpointing
22         entry [expedited] void doItNow(int spe, CkCallback &);  //checkpointing
23         entry void recvData(CkArrayCheckPTMessage *);
24         entry void recvArrayCheckpoint(CkArrayCheckPTMessage *);
25         entry void gotData();
26         entry void recvProcData(CkProcCheckPTMessage *);
27         entry void syncFiles(CkReductionMsg *);
28         entry [reductiontarget] void cpFinish();
29         entry void report();
30         // restart
31         entry [expedited] void restart(int);
32         entry [reductiontarget] void resetReductionMgr();
33         entry [reductiontarget] void removeArrayElements();
34         entry [reductiontarget] void recoverBuddies();
35         entry void recoverEntry(CkArrayCheckPTMessage *msg);
36         entry [reductiontarget] void recoverArrayElements();
37         entry [reductiontarget] void finishUp();
38         entry [reductiontarget] void doneRComparison(int);
39         entry [reductiontarget] void recoverFromSoftFailure();
40         entry void notifyReplicaDie(int pe);
41         entry void doneComparison(bool);
42         entry void RollBack();
43         entry void gotReply();
44         entry void quiescence(CkCallback&);
45         entry void inmem_restore(CkArrayCheckPTMessage *m);
46         entry void updateLocations(int n, CkGroupID g[n], CkArrayIndex idx[n],int nowOnPe);
47   };
48
49   initproc void CkRegisterRestartHandler();
50
51   mainchare CkMemCheckPTInit {
52         entry CkMemCheckPTInit(CkArgMsg *m);
53   };
54 };