Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
2.1 KiB

//-----------------------------------------------------------------------------
//
//
// File: aqstats.h
//
// Description: Header file for CAQStats class
//
// Author: Mike Swafford (MikeSwa)
//
// History:
// 11/3/98 - MikeSwa Created
//
// Copyright (C) 1998 Microsoft Corporation
//
//-----------------------------------------------------------------------------
#ifndef __AQSTATS_H__
#define __AQSTATS_H__
#include "cmt.h"
#include "aqutil.h"
enum NotifyType
{
NotifyTypeUndefined = 0x00000000,
NotifyTypeDestMsgQueue = 0x00000001, //notification sender is a dest queue
NotifyTypeLinkMsgQueue = 0x00000002, //notification sender is a link
NotifyTypeReroute = 0x00000004, //notification sender is a reroute
NotifyTypeNewLink = 0x10000000, //sender is a newly created link
};
class CDestMsgQueue;
class CLinkMsgQueue;
#define AQSTATS_SIG 'tatS'
//---[ CAQStats ]-------------------------------------------------------
//
//
// Hungarian: aqstat, paqstat
//
//
//-----------------------------------------------------------------------------
class CAQStats
{
protected:
DWORD m_dwSignature;
public:
DWORD m_dwNotifyType; //Type of notification being sent
DWORD m_cMsgs; //Total count of msgs
DWORD m_cOtherDomainsMsgSpread; //Count of other domains message
//is queued for
DWORD m_rgcMsgPriorities[NUM_PRIORITIES]; //count per-priority
ULARGE_INTEGER m_uliVolume;
DWORD m_dwHighestPri;
union //notification sender
{
PVOID m_pvContext;
CDestMsgQueue *m_pdmq;
CLinkMsgQueue *m_plmq;
};
DWORD m_cRetryMsgs; // Total count of messages in retry queue
CAQStats();
void Reset();
//Used to provide thread-safe update
void UpdateStats(CAQStats *paqstat, BOOL fAdd);
void UpdateRetryStats(BOOL fAdd);
};
#endif //__AQSTATS_H__