fixing for ft
[charm.git] / src / conv-com / 3dgridrouter.h
1 /**
2    @addtogroup ConvComlibRouter
3    @{
4    @file 
5    @brief 3D Grid routing strategy 
6 */
7
8
9 #ifndef _D3GRIDROUTER_H
10 #define _D3GRIDROUTER_H
11
12 #include <math.h>
13 #include "petable.h"
14
15 //3DGrid based router
16 class D3GridRouter : public Router
17 {
18   private:
19         PeTable *PeGrid;
20         int **oneplane, *psize, *zline, *gpes;
21         int MyPe, NumPes, COLLEN, nPlanes;
22         int LPMsgCount, LPMsgExpected;
23         int recvExpected[2], recvCount[2];
24         int routerStage;
25         void InitVars();
26         void LocalProcMsg(comID id);
27         int nplanes;
28
29   public:
30         D3GridRouter(int, int, Strategy*);
31         ~D3GridRouter();
32         void NumDeposits(comID, int);
33         void EachToAllMulticast(comID , int , void *, int);
34         void EachToManyMulticast(comID , int , void *, int, int *, int);
35         void RecvManyMsg(comID, char *);
36         void ProcManyMsg(comID, char *);
37         void DummyEP(comID id, int);
38         void ProcMsg(int, msgstruct **) {;}
39         void SetMap(int *);
40 };
41
42 #endif
43
44 /*@}*/