Adding a new simple Comlib Multicast strategy that does not cache array section infor...
[charm.git] / src / ck-com / ComlibManager.ci
1 module comlib {
2   initproc void initConvComlibManager();
3 //  initproc void initCharmComlibManager();
4
5   message ComlibDummyMsg;
6   message ComlibMulticastMsg {
7     ComlibMulticastIndexCount indicesCount[];
8     CkArrayIndexMax indices[];
9     char usrMsg[];
10   };
11   //  message PrioMsg;
12
13   group [migratable] ComlibManager {
14     entry ComlibManager();
15
16     entry void barrier(void);
17     entry void resumeFromSetupBarrier();
18
19     entry void bracketedReceiveCount(int instid, int pe, int count, int isFirst, int step);
20     entry void bracketedStartErrorRecoveryProcess(int instid, int step);         
21     entry void bracketedErrorDetected(int instid, int step);
22     entry void bracketedConfirmCount(int instid);
23     entry void bracketedCountConfirmed(int instid, int count, int step);
24     entry void bracketedReceiveNewCount(int instid);
25     entry void bracketedDiscover(int instid, CkArrayID aid, CkArrayIndexMax &idx, int isSrc);
26     entry void bracketedContributeDiscovery(int instid, int pe, int nsrc, int ndest, int step);
27     entry void bracketedReceiveNewPeList(int instid, int count[CkNumPes()]);
28     entry void bracketedReleaseCount(int instid);
29     entry void bracketedReleaseBufferedMessages(int instid);
30
31     entry void collectStats(ComlibLocalStats s, int src);
32   }
33
34   mainchare ComlibManagerMain {
35     entry ComlibManagerMain();  
36   }
37
38   PUPable OneTimeMulticastStrategy;     
39   PUPable EachToManyMulticastStrategy;  
40   PUPable DirectMulticastStrategy;
41   PUPable RingMulticastStrategy;        
42   PUPable MultiRingMulticastStrategy;
43   PUPable RectMulticastStrategy;
44   PUPable BroadcastStrategy;
45   PUPable PrioStreaming;
46   PUPable PipeBroadcastStrategy;
47  
48
49   //PUPable CharmStrategy;
50   //PUPable MessageHolder;
51   //PUPable CharmMessageHolder;
52  //  PUPable ComlibArrayListener;
53
54 // PUPable DummyStrategy;
55 //  PUPable NodeMulticast;
56 //  PUPable StreamingStrategy;
57 //  PUPable MPIStrategy;
58 //  PUPable MeshStreamingStrategy;
59   
60 };