Adding communication library in src/ck-com and src/conv-com
[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         CkArrayIndexMax indices[];
8         char usrMsg[];
9   };
10
11   group [migratable] ComlibManager {
12     entry ComlibManager();
13
14     entry void barrier(void);
15     entry void barrier2(void);
16     entry void resumeFromBarrier2(void);
17
18     //entry void beginIteration();
19     //entry void endIteration();
20     //entry void prioEndIteration(PrioMsg *);
21
22     entry void receiveTable(StrategyWrapper sw);
23     entry void receiveRemoteSend(CkQ<CharmMessageHolder *> &remoteQ, int id);
24
25     entry void learnPattern(int, int);
26   }
27
28   mainchare ComlibManagerMain {
29     entry ComlibManagerMain();  
30   }
31
32   //PUPable CharmStrategy;
33   //PUPable MessageHolder;
34   //PUPable CharmMessageHolder;
35
36   PUPable DummyStrategy;
37   PUPable NodeMulticast;
38   PUPable StreamingStrategy;
39   PUPable MPIStrategy;
40   PUPable DirectMulticastStrategy;
41   PUPable EachToManyMulticastStrategy;  
42   PUPable RingMulticastStrategy;        
43   PUPable PipeBroadcastStrategy;
44   PUPable MeshStreamingStrategy;
45   PUPable PrioStreaming;
46   PUPable BroadcastStrategy;
47
48   //Strategy pupable defined in the array manager code, along with the
49   //array listener code
50 };