
00001 00009 #ifndef PIPE_BROADCAST_STRATEGY 00010 #define PIPE_BROADCAST_STRATEGY 00011 #include "ComlibManager.h" 00012 #include "pipebroadcastconverse.h" 00013 00019 class PipeBroadcastStrategy : public PipeBroadcastConverse, public CharmStrategy { 00020 protected: 00021 00022 00023 public: 00024 PipeBroadcastStrategy(int _topology, CkArrayID _aid, int _pipeSize=DEFAULT_PIPE); 00025 PipeBroadcastStrategy(CkGroupID _gid, int _topology=USE_HYPERCUBE, int _pipeSize=DEFAULT_PIPE); 00026 PipeBroadcastStrategy(CkMigrateMessage *m): PipeBroadcastConverse(m), CharmStrategy(m) {} 00027 void insertMessage(CharmMessageHolder *msg); 00028 00029 virtual CmiFragmentHeader *getFragmentHeader(char*); 00030 00031 void deliver(char *msg, int dim); 00032 00033 virtual void pup(PUP::er &p); 00034 PUPable_decl(PipeBroadcastStrategy); 00035 }; 00036 #endif 00037
1.5.5