c7faa5d52fa185b3dcd4c30dfdd233f31eef897c
[charm.git] / src / ck-core / ckarray.ci
1 module CkArray {
2   extern module CkReduction;
3   extern module CkLocation;
4   extern module CkArrayReductionMgr;
5
6   readonly CmiBool _isAnytimeMigration;
7   
8   group [migratable] CkArray : CkReductionMgr {
9         entry CkArray(CkArrayOptions opts, CkMarshalledMessage ctorMsg, CkNodeGroupID nodereductionProxy);
10         //Insertion
11         entry void insertElement(CkMessage *);
12         entry void remoteDoneInserting(void);
13         //Broadcast
14         entry void sendBroadcast(CkMessage *);
15         entry void recvBroadcast(CkMessage *);
16         entry [expedited] void sendExpeditedBroadcast(CkMessage *);
17         entry [expedited] void recvExpeditedBroadcast(CkMessage *);
18   };
19
20   PUPable CkVerboseListener;
21   PUPable CkArrayBroadcaster;
22   PUPable CkArrayReducer;
23
24   // COMLIB HACK
25   //PUPable ComlibArrayListener;
26
27   initproc void _ckArrayInit(void);
28
29   array [none] ArrayElement {
30     entry ArrayElement();
31     //Calls destructor:
32     entry void ckDestroy(void);
33     entry void recvBroadcast(CkMessage *);
34     // CMK_MEM_CHECKPOINT
35     entry void inmem_checkpoint(CkArrayCheckPTReqMessage *);
36   };
37
38
39 };