Merge branch 'charm' of charmgit:charm into charm
[charm.git] / src / langs / streams / Communicate.h
1 /*****************************************************************************
2  * $Source$
3  * $Author$
4  * $Date$
5  * $Revision$
6  *****************************************************************************/
7
8 #ifndef COMMUNICATE_H
9 #define COMMUNICATE_H
10
11 extern "C" {
12 #include "converse.h"
13 }
14
15 class MIStream;
16 class MOStream;
17
18 #define ALL      -1
19 #define ALLBUTME -2
20 #define BUFSIZE  4096
21 #define ANY      -1
22
23 class Communicate {
24
25 private:
26   int CsmHandlerIndex;
27
28 public:
29   Communicate(void);
30   ~Communicate();
31   MIStream *newInputStream(int pe, int tag);
32   MOStream *newOutputStream(int pe, int tag, unsigned int bufsize);
33   void *getMessage(int PE, int tag);
34   void sendMessage(int PE, void *msg, int size);
35 };
36
37 #include "MStream.h"
38
39 #endif