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
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__
|