00001 #include "charm++.h" 00002 #include "refine.decl.h" 00003 #include "tcharm.h" 00004 00005 // ------------------------------ Messages ---------------------------------- 00006 00007 // chunkMsg: pass in number of elements and ghost elements 00008 class chunkMsg : public CMessage_chunkMsg { 00009 public: 00010 int nEl, nGhost, nChunks; 00011 CProxy_TCharm myThreads; 00012 }; 00013 00014 // splitOutMsg: output data from split edge 00015 class splitOutMsg : public CMessage_splitOutMsg { 00016 public: 00017 edgeRef e; 00018 int n; 00019 int result, local, first, nullNbr; 00020 }; 00021 00022 // refMsg: generic message for sending/receiving a reference to/from an element 00023 class refMsg : public CMessage_refMsg { 00024 public: 00025 objRef aRef; 00026 int idx; 00027 }; 00028 00029 // intMsg: used to send parameterless messages to an element anInt 00030 class intMsg : public CMessage_intMsg { 00031 public: 00032 int anInt; 00033 }; 00034 00035 // doubleMsg: used to send a double to an element idx 00036 class doubleMsg : public CMessage_doubleMsg { 00037 public: 00038 int idx; 00039 double aDouble; 00040 }; 00041 00042 // boolMsg: used to send a bool 00043 class boolMsg : public CMessage_boolMsg { 00044 public: 00045 int aBool; 00046 };