⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeradmin.cpp

📁 中国移动的短信网关程序
💻 CPP
字号:
/************************************************************
 *Name:TimerAdmin.cpp
 *Copyright:Copyright 2003 by HuaTai Corp.,Fuzhou,P.R.C
 *Description:
 *
 *Modification History:
 *  V1.0.0     2003-05-01    lianglw     Create this file
 ************************************************************/
#include "stdafx.h"
#include "TimerAdmin.h"

void CTimerQueue::AddTimerQueue(CTimerNode *pNode)
{
	CTimerNode *pTimerNode;
	TIME_REC rCurTime;
	int nTime;
	int i=0;

	if(pNode == NULL)
		return;
	getSysTime(&rCurTime);
	nTime = pNode->nTimeval + diffMsTime(&rCurTime, &rStartTime);

	if(rTimerQueue.nChainLen == 0)
	{
		pNode->nTimeval = nTime;
		rTimerQueue.Insert(0, pNode);
		return;
	}

	while((pTimerNode = rTimerQueue.Find(i)) != NULL && i<=rTimerQueue.nChainLen)
	{
		if(pTimerNode->nTimeval >= nTime)
		{
			pNode->nTimeval = nTime;
			rTimerQueue.Insert(i, pNode);
			return;
		}
		i++;
	}

	pNode->nTimeval = nTime;
	rTimerQueue.Append(pNode);

	return;
}

void CTimerQueue::RemoveTimerQueue(CTimerNode *pNode)
{
	int nIndex;
	nIndex = rTimerQueue.Search(pNode);
	if(nIndex != -1)
		rTimerQueue.Delete(nIndex);
}

CTimerNode * CTimerQueue::CheckTimeoutTimerNode()
{

	CTimerNode *pNode;
	TIME_REC rCurTime;

	pNode = rTimerQueue.Find(0);
	getSysTime(&rCurTime);

	if(pNode != NULL)
	{
		if(diffMsTime(&rCurTime, &rStartTime) >= pNode->nTimeval)
		{
			pNode = rTimerQueue.Delete(0);
			pNode->nTimeval = 0;
			return pNode;
		}
	}
	return NULL;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -