
#include "pgm.decl.h"

class CommStartMsg : public CMessage_CommStartMsg {
public:
  comID id;
};

class broadcastMsg: public CMessage_broadcastMsg {
public:
  int *dummy;
  int n;
  static void * pack(broadcastMsg *);
  static broadcastMsg * unpack(void *ptr);
};

class notifyMsg: public CMessage_notifyMsg {
  int dummy;
};


class main : public Chare
{
private:

public:
  main(CkArgMsg *m);
};

class Node: public Group
{
private:
  int msgCount;
  int Count;
  int dummy[16];
  comID commID;
public:
  Node();
  ~Node() {};
  void start();
  void allWork(CkQdMsg*);
  void broadcast(void);
  void GetCommID(CommStartMsg*);
  void recvMsg(broadcastMsg *);
  void notifyOk(notifyMsg *);

  void displayComID();
};

