/*****************************************************************************
* 	Project 	: Network Based Message Queue System		    **
*	Course		: CIS 650 - Software Engineering		    **
*	Location 	: ~sameer/cis650/proj/cl                 	    **
*	File		: mon.cc        	       			    **
*	Description 	: monitor of the message queue                      **
*****************************************************************************/

#include "uai.h"
#include <sys/ipc.h>
#include <sys/msg.h>
#include <unistd.h>
#include <stdio.h>

main()
{
  int msqid;
  struct nmsgbuf *ptr;
  nmsqid_ds *request;

  msqid = nmsgget(0,0);

  ptr = new nmsgbuf;
  request = new nmsqid_ds;
  request->numberMsgsType = 1;

  while(nmsgctl(msqid, IPC_STAT, request))
  {
    printf("Msgs: %d | Bytes: %d | PendProc: %d | Connections: %d | MsgsTyp1: %d\n",
	   request->numberMsgs,
	   request->numberBytes,
	   request->numberPendingProcesses,
	   request->numberConnections,
	   request->numberMsgsType);

    sleep (1);
  }

  delete request;
  delete ptr;
}



