latest stable version, with a lot of bug fixes.
[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         entry void report();
24         // restart
25         entry void restart(int);
26         entry void resetReductionMgr();
27         entry void removeArrayElements();
28         entry void recoverBuddies();
29         entry void recoverArrayElements();
30         entry void finishUp();
31         entry void quiescence(CkCallback&);
32         entry void inmem_restore(CkArrayCheckPTMessage *m);
33   };
34
35   initproc void CkRegisterRestartHandler();
36
37   mainchare CkMemCheckPTInit {
38         entry CkMemCheckPTInit(CkArgMsg *m);
39   };
40 };