e359b9b05b7075bb0c2f0cdc35ec28042272521c
[charm.git] / src / ck-com / ComlibManager.ci
1 module comlib {
2   //  initproc void initComlibManager();
3
4   message ComlibDummyMsg;
5   //  message PrioMsg;
6   message ComlibMulticastMsg {
7     ComlibMulticastIndexCount indicesCount[];
8     CkArrayIndexMax indices[];
9     char usrMsg[];
10   };
11
12   group [migratable] ComlibManager {
13     entry ComlibManager();
14
15     entry void barrier(void);
16     entry void resumeFromSetupBarrier();
17     //entry void barrier2(void);
18     //entry void resumeFromBarrier2(void);
19     //entry void receiveTable(StrategyWrapper sw, 
20     //                      CkHashtableT<ClibGlobalArrayIndex, int>);
21
22 //    entry void bracketedFinishSetup(int instid);
23     entry void bracketedReceiveCount(int instid, int pe, int count, int isFirst, int step);
24     entry void bracketedStartErrorRecoveryProcess(int instid, int step);         
25     entry void bracketedErrorDetected(int instid, int step);
26     entry void bracketedConfirmCount(int instid);
27     entry void bracketedCountConfirmed(int instid, int count, int step);
28     entry void bracketedReceiveNewCount(int instid);
29     entry void bracketedDiscover(int instid, CkArrayID aid, CkArrayIndexMax &idx, int isSrc);
30     entry void bracketedContributeDiscovery(int instid, int pe, int nsrc, int ndest, int step);
31     entry void bracketedReceiveNewPeList(int instid, int count[CkNumPes()]);
32     entry void bracketedReleaseCount(int instid);
33     entry void bracketedReleaseBufferedMessages(int instid);
34
35
36
37     //entry void receiveRemoteSend(CkQ<CharmMessageHolder *> &remoteQ, int id);
38     entry void collectStats(ComlibLocalStats s, int src);
39     //                      CkVec<ClibGlobalArrayIndex>);
40   }
41
42   mainchare ComlibManagerMain {
43     entry ComlibManagerMain();  
44   }
45
46   //PUPable CharmStrategy;
47   //PUPable MessageHolder;
48   //PUPable CharmMessageHolder;
49  //  PUPable ComlibArrayListener;
50
51   PUPable EachToManyMulticastStrategy;  
52   PUPable DirectMulticastStrategy;
53   PUPable RingMulticastStrategy;        
54   PUPable MultiRingMulticastStrategy;
55   PUPable RectMulticastStrategy;
56   PUPable BroadcastStrategy;
57   PUPable PrioStreaming;
58   PUPable PipeBroadcastStrategy;
59  
60
61 // PUPable DummyStrategy;
62 //  PUPable NodeMulticast;
63 //  PUPable StreamingStrategy;
64 //  PUPable MPIStrategy;
65 //  PUPable MeshStreamingStrategy;
66   
67   //Strategy pupable defined in the array manager code, along with the
68   //array listener code
69 };