Merge branch 'charm' of charmgit:charm into charm
[charm.git] / tests / charm++ / pingpong / pingpong.ci
1 mainmodule pingpong {
2   readonly CProxy_main mainProxy;
3   readonly int iterations;
4   readonly int payload;
5   mainchare main {
6     entry main(CkArgMsg *);
7     entry void maindone(void);
8   };
9   message PingMsg{char x[];};
10   message IdMsg;
11
12   array [1D] Ping1 {
13     entry Ping1();
14     entry void start(void);
15     entry void recv(PingMsg *);
16     entry [threaded] void trecv(PingMsg *);
17   };            
18   array [2D] Ping2 {
19     entry Ping2();
20     entry void start(void);
21     entry void recv(PingMsg *);
22   };            
23   array [3D] Ping3 {
24     entry Ping3();
25     entry void start(void);
26     entry void recv(PingMsg *);
27   };            
28   chare PingC {
29     entry PingC(void);
30     entry PingC(IdMsg *);
31     entry void start(void);
32     entry void exchange(IdMsg *);
33     entry void recvReuse(PingMsg *);
34     entry void recv(PingMsg *);
35     entry [threaded] void trecv(PingMsg *);
36   };
37   group PingG {
38     entry PingG(void);
39     entry void start(void);
40     entry void recv(PingMsg *);
41   }
42   nodegroup PingN {
43     entry PingN(void);
44     entry void start(void);
45     entry void startRDMA(void);
46     entry [exclusive] void recv(PingMsg *);
47     entry [exclusive] void recvRDMA();
48     entry [exclusive] void recvHandle(char ptr[size], int size);
49   }
50   array [Fancy] PingF {
51     entry PingF();
52     entry void start(void);
53     entry void recv(PingMsg *msg);
54   };            
55 };