///////////////////////////////////////////
// stat.h  -- statistics for NASD simulator
////////////////////////////////////////////

struct AccessStr
{
  double TotalMTime;
  double TotalNTime;
  double TotalDTime;
  unsigned TotalBlock;
  // double TotalAccessTime;
  int OpNum;
};

class NasdStat
{
 public:
  AccessStr *Access;
  int TotalOpNum;
  int BlockSize;
  int ColumnNum;
  double AllOpTime;
  int AllOpNum;
  int WRNum;

  //  double TotalBlocks;
  unsigned NetCount;

 public:
  NasdStat(int blocksize, int columnnum);
  ~NasdStat();

  // Add process time for one request
  void AddRequest(short op, unsigned b_count, TimeBD &Atime, unsigned netcount);

  // print statistics result
  void PrintResult();
};
