added a variable higherLevel and a method deliverer to be used to uniform the
[charm.git] / src / conv-com / treerouter.h
1 /*****************************************************************************
2  * $Source$
3  * $Author$
4  * $Date$
5  * $Revision$
6  *****************************************************************************/
7
8 #ifndef TREEROUTER_H
9 #define TREEROUTER_H
10 #include <converse.h>
11 #include "comlib.h"
12 #include "petable.h"
13
14 class TreeRouter : public Router
15 {
16   private:
17         PeTable *PeTree;
18         int numExpect, *gpes;
19         int *totarray;
20         int MyPe, NumPes, numChildren, recvCount, recvExpected;
21         void InitVars();
22         void DownStreamMsg(comID id);
23         void LocalProcMsg(comID);
24         char * SortBufferUp(comID, int, int *);
25         char * SortBufferDown(comID, int, int *, int);
26   public:
27         TreeRouter(int, int);
28         ~TreeRouter();
29         void NumDeposits(comID, int);
30         void EachToAllMulticast(comID, int , void *, int);
31         void EachToManyMulticast(comID, int , void *, int, int *, int);
32         void RecvManyMsg(comID, char *);
33         void ProcManyMsg(comID, char *);
34         void DummyEP(comID, int );
35         void SetMap(int *);
36 };
37
38 #endif
39