📄 warcps.cpp
字号:
#include "StdAfx.h"#include "WarCps.h" // class implemented/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarCps::WarCps(const unsigned delayMs, const unsigned holdMs, const unsigned minCnt, const unsigned maxCnt, const unsigned minCps, const unsigned maxCps) : mDelayMs(delayMs), mHoldMs(holdMs), mMinCnt(minCnt), mMaxCnt(maxCnt), mMinCps(minCps), mMaxCps(maxCps), mBytesRecorded(0){}// WarCpsWarCps::~WarCps(){}// ~WarCps//============================= OPERATORS ====================================WarCps& WarCps::operator = (WarCps& from){ mDelayMs = from.mDelayMs; mHoldMs = from.mHoldMs; mMinCnt = from.mMinCnt; mMaxCnt = from.mMaxCnt; mMinCps = from.mMinCps; mMaxCps = from.mMaxCps; mSamples = from.mSamples; mBytesRecorded = from.mBytesRecorded; return *this;}//============================= OPERATIONS ===================================int WarCps::GetCps(){ if (mSamples.size() < mMinCnt) return -1; return mSamples.back().GetCps(mSamples.front());}bool WarCps::IsOverLimit(){ int cps; if ((0 == mMaxCps) || ((cps = GetCps()) < 0)) return false; return GetCps() > (int)mMaxCps;}bool WarCps::IsUnderLimit(){ if ((0 == mMinCps) || (mSamples.size() < mMaxCnt)) return false; // We need more samples int current_cps = GetCps(); if (current_cps < 0) return false; // No cps returned return GetCps() < (int)mMinCps;}void WarCps::Record(const war_flen_t& bytes){ mBytesRecorded += bytes; if (mSamples.empty() || mSamples.front().GetTime().IsTimeOut(mDelayMs)) { mSamples.push_back(WarCpsTimestamp(mBytesRecorded)); if (mSamples.size() > mMaxCnt) mSamples.pop_front(); }}WarTime WarCps::GetNextCpsTime(){ return WarTime(mSamples.back().GetNextCpsTime(mSamples.front(), mMaxCps).mTime + mHoldMs);}//============================= ACCESS ===================================//============================= INQUIRY ===================================/////////////////////////////// PROTECTED ////////////////////////////////////////////////////////////////// PRIVATE ///////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -