some cleanup and added some comments.
[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 CkProcCheckPTMessage {
11         char packData[];
12   };    
13   message CkArrayCheckPTReqMessage;
14
15   group [migratable] CkMemCheckPT {
16         entry CkMemCheckPT(void);
17         entry void createEntry(CkArrayID, CkGroupID, CkArrayIndexMax, int);
18         // checkpointing
19         entry void doItNow(int spe, CkCallback &);  //checkpointing
20         entry void recvData(CkArrayCheckPTMessage *);
21         entry void recvProcData(CkProcCheckPTMessage *);
22         entry void cpFinish();
23         // restart
24         entry void restart(int);
25         entry void resetReductionMgr();
26         entry void removeArrayElements();
27         entry void recoverBuddies();
28         entry void recoverArrayElements();
29         entry void finishUp();
30         entry void quiescence(CkCallback&);
31         entry void inmem_restore(CkArrayCheckPTMessage *m);
32   };
33
34   initproc void CkRegisterRestartHandler();
35
36   mainchare CkMemCheckPTInit {
37         entry CkMemCheckPTInit(CkArgMsg *m);
38   };
39 };