#include "charm++.h"

#include "testcharm.h"
#include "main.h"

Testcharm::Testcharm(Msg *msg)
{
  int i;
  nextExpected = 0;
  for(i=0;i<NMSGS;i++)
    bufs[i] = (Msg *) 0;
  delete msg;
}

void Testcharm::teststart(Msg *msg) {
  int data = msg->data;
  bufs[data]=msg;
  if(data==nextExpected) {
    for(;bufs[nextExpected] != (Msg *) 0 && nextExpected!=NMSGS;nextExpected++)
      delete bufs[nextExpected];
    if (nextExpected==NMSGS) {
      msg = new Msg;
      msg->data=1;
      CProxy_main pmain(mainhandle);
      pmain.testend(msg);
    }
  }
}

#include "testcharm.def.h"
