changing comlib.h into convcomlib.h, and adding a new comlib.h file under
[charm.git] / src / conv-com / prefixrouter.h
1 #ifndef PREFIX_ROUTER_H
2 #define PREFIX_ROUTER_H
3
4 #include <math.h>
5 #include <converse.h>
6 #include "convcomlib.h"
7
8 //Prefix router to avoid contention on m,n-tree networks
9
10 class PrefixRouter : public Router {
11     int *gpes;
12     int *prefix_pelist;
13     int MyPe, npes;
14
15  public:
16     PrefixRouter(int _npes, int me) : npes(_npes), MyPe(me) {};
17     virtual ~PrefixRouter() {};
18     
19     virtual void EachToManyMulticastQ(comID id, CkQ<MessageHolder *> &msgq);
20
21     //communication operation
22     virtual void SetMap(int *pelist) {gpes = pelist;}
23     virtual void sendMulticast(CkQ<MessageHolder *> &msgq);
24     virtual void sendPointToPoint(CkQ<MessageHolder *> &msgq);
25 };
26
27 #endif