📄 cmicopaccept.cpp
字号:
{
m_iBuffMaxSize = 0;
m_pCurrPoint = NULL;
m_pStartPoint = NULL;
m_TotalSize = 0;
m_iBuffMaxSize = iBuffMaxSize; //滚欺 劝寸 肮荐.
//劝寸窍绊 酵篮 滚欺 荤捞令焊促 OVERLABBEDBUFFERSIZE农扁父怒 歹 皋葛府甫 棱绰促.
m_pHeadPoint = m_pTailPoint = m_pDataPoint
= m_pCurrPoint = m_pStartPoint = (char *) new char[iBuffMaxSize+PACKETBUFFERSIZE];
if(m_pStartPoint == NULL)
{
return ;
}
//皋葛府狼 场何盒..
m_pEndPoint = m_pStartPoint + m_iBuffMaxSize + PACKETBUFFERSIZE;
memset(m_pStartPoint,0,sizeof(char)*iBuffMaxSize); //皋葛府 檬扁拳
}
CMMemoryManager::~CMMemoryManager()
{
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
void CMMemoryManager::Reset()
{
memset(m_pStartPoint,0,sizeof(char)*(m_iBuffMaxSize + PACKETBUFFERSIZE)); //皋葛府 檬扁拳
m_pCurrPoint = m_pStartPoint; //皋葛府 瘤矫磊甫 檬扁拳 矫挪促.
}
char * CMMemoryManager::GetMemoryBuf()
{
return m_pDataPoint ;
}
//-------------------------------------------------------------------------------------------------------
// Name :: int GetMemorySize(bool bContinue = false)
// Create Date :: 2003/12/29
// Description :: 泅犁 坷滚乏 备炼眉俊 皋葛府甫 吧荐 乐绰 荤捞令甫 舅酒辰促.
// 父距 单捞鸥啊 缔何盒俊辑 漏副版快 菊栏肺 单捞鸥甫 汗荤窍绊 抄饶 荤捞令甫 汗荤秦林绢具 茄促.
// param ::
// Return Value :: int : 镜荐 乐绰 皋葛府狼 荤捞令.
// 0 捞搁 歹捞惑 镜荐 乐绰 皋葛府啊 绝促. 努扼捞攫飘甫 肋矾滚副帛阑 辆侩..
// Bug Report :: 捞窃荐绰 postrecv()俊辑父 镜荐乐促. (官骸)
// 皋葛府 劝寸 窍扁困秦 荤捞令甫 备窍绰 何盒烙..
// (捞 皋葛府 檬扁拳档 吝夸)
//-------------------------------------------------------------------------------------------------------
int CMMemoryManager::GetMemorySize(bool bContinue)
{
int size;
int tempSize;
//size = (m_pStartPoint + m_iBuffMaxSize + OVERLABBEDBUFFERSIZE) - m_pTailPoint ;
//单捞鸥啊
if(m_pTailPoint >= m_pHeadPoint)
{
size = m_pEndPoint - m_pTailPoint ;
if(size >= PACKETBUFFERSIZE)
{
return PACKETBUFFERSIZE;
}
else
{
// 荤侩磊 皋葛府甫 劝寸窍扁俊 巢篮 皋葛府 荤捞令啊 利促.
// 皋葛府 场何盒俊 客乐促 促矫 皋葛府 贸澜何磐 荤侩且荐 乐霸 秦霖促.
if(bContinue == true)
{
// 泅犁 罐篮 皋葛府剧.
tempSize = m_pTailPoint - m_pCurrPoint;
// 皋葛府啊 荤侩登绊 乐绰何盒傈鳖瘤 拌魂窍绊. 滚欺甫 劝寸且荐 乐绰瘤 八荤秦霖促.
if(m_pHeadPoint - m_pStartPoint < tempSize + PACKETBUFFERSIZE )
{
//皋葛府啊 促 劝寸登绊 镜荐 乐绰何盒捞 绝促. 荤侩磊甫 谗绢 滚府磊.
CMSingleton<CMDebug>::getInstance()->output("%s(%d)农府萍拿 俊矾(荤侩磊 皋葛府 何练)",__FILE__,__LINE__);
return 0;
}
// 父距 皋葛府 场俊辑 单捞鸥啊 捞绢龙 版快俊绰 菊栏肺 单捞鸥甫 缠绊 啊辑 捞绢林绢具 茄促.
memcpy(m_pStartPoint,m_pCurrPoint,tempSize);
// 菊栏肺 单捞鸥甫 颗变饶 单捞鸥 官风 缔何盒俊 器牢磐甫 颗败霖促.
m_pTailPoint = m_pStartPoint + tempSize;
m_pCurrPoint = m_pStartPoint;
return PACKETBUFFERSIZE;
}
else
{
// 皋葛府啊 荤侩登绊 乐绰何盒傈鳖瘤 拌魂窍绊. 滚欺甫 劝寸且荐 乐绰瘤 八荤秦霖促.
if(m_pHeadPoint - m_pStartPoint < PACKETBUFFERSIZE )
{
//皋葛府啊 促 劝寸登绊 镜荐 乐绰何盒捞 绝促. 荤侩磊甫 谗绢 滚府磊.
CMSingleton<CMDebug>::getInstance()->output("%s(%d)农府萍拿 俊矾(荤侩磊 皋葛府 何练)",__FILE__,__LINE__);
return 0;
}
// 皋葛府 场何盒俊 客乐促 促矫 皋葛府 贸澜何磐 荤侩且荐 乐霸 秦霖促.
m_pTailPoint = m_pStartPoint;
}
}
}
else
{
size = m_pHeadPoint - m_pTailPoint ;
if(size >= PACKETBUFFERSIZE)
{
return PACKETBUFFERSIZE;
}
else
{
// 荤侩磊 皋葛府甫 劝寸窍扁俊 巢篮 皋葛府 荤捞令啊 利促.
// 单捞鸥啊 菜蛮 惑怕 单捞鸥啊 力措肺 贸府 救瞪荐档 乐促
// 发 泅惑老荐档 乐促.
// 皋葛府啊 促 劝寸登绊 镜荐 乐绰何盒捞 绝促. 荤侩磊甫 谗绢 滚府磊.
CMSingleton<CMDebug>::getInstance()->output("%s(%d)农府萍拿 俊矾(荤侩磊 皋葛府 何练)",__FILE__,__LINE__);
return 0;
}
}
return size;
}
//-------------------------------------------------------------------------------------------------------
// Name :: GetMemoryPoint()
// Create Date :: 2003/12/29
// Description :: 泅犁 坷滚乏 备炼眉俊 皋葛府甫 吧荐 乐绰何盒阑 啊福挪促.
// 父距 单捞鸥甫 罐篮 版快俊绰 单捞鸥甫 盒籍窍绰 累诀俊 静牢促.
// param ::
// Return Value :: char * : 镜荐 乐绰 皋葛府狼 林家蔼.
// Bug Report ::
//-------------------------------------------------------------------------------------------------------
char * CMMemoryManager::GetMemoryPoint()
{
// char * pOldMem;
return m_pCurrPoint;
}
//if(m_CurrPoint->bUsed == FALSE)
//{
// pOldMem = m_CurrPoint;
// m_CurrPoint++;
//
// if(m_CurrPoint->iNum == m_iBuffMaxSize - 1)
// {
// //颇老 瘤矫磊啊 皋葛府狼 场何盒 林家蔼阑 逞栏搁 促矫 霉锅掳 皋葛府甫 啊福挪促.. (盔屈钮 皋葛府)
// m_CurrPoint = m_pStartPoint;
// }
//}
//else
//{
// for(int i = 0; i < m_iBuffMaxSize ; i++)
// {
// //瘤矫磊甫 促澜锅瘤 皋葛府肺 颗变促.
// m_CurrPoint++;
//
// if(m_CurrPoint->iNum == m_iBuffMaxSize - 1)
// {
// //颇老 瘤矫磊啊 皋葛府狼 场何盒 林家蔼阑 逞栏搁 促矫 霉锅掳 皋葛府甫 啊福挪促.. (盔屈钮 皋葛府)
// m_CurrPoint = m_pStartPoint;
// }
//
// if(m_CurrPoint->bUsed == FALSE)
// {
// pOldMem = m_CurrPoint;
// break;
// }
// }
// m_CurrPoint++;
// if(m_CurrPoint->iNum == m_iBuffMaxSize - 1)
// {
// //颇老 瘤矫磊啊 皋葛府狼 场何盒 林家蔼阑 逞栏搁 促矫 霉锅掳 皋葛府甫 啊福挪促.. (盔屈钮 皋葛府)
// m_CurrPoint = m_pStartPoint;
// }
//}
//pOldMem->bUsed = TRUE;
//InterlockedIncrement(&m_TotalSize);
//return pOldMem;
//}
//-------------------------------------------------------------------------------------------------------
// Name :: BOOL ReturnMemoryPoint(char* RtnPoint)
// Create Date :: 2004/01/05
// Description :: .
// param ::
// char* RtnPoint : 皋葛府 林家蔼
// Return Value :: BOOL 屈: 府畔 己傍?
// Bug Report :: 捞何盒篮 促弗 静饭靛客 况农 静饭靛啊 父唱绰 何盒捞促.
// 农府萍拿 冀记捞 鞘夸 且瘤档 葛福摆促.
//-------------------------------------------------------------------------------------------------------
BOOL CMMemoryManager::ReturnMemoryPoint(char* RtnPoint)
{
unsigned short *sId = 0;
//
*sId = *(( unsigned short* )( ( char* )RtnPoint + HEAD_SIZE_POISTION ));
m_pHeadPoint += (*sId + PACKETHEADERSIZE);
//第俊 皋葛府甫 棱阑 傍埃捞 绝绰版快绰 盖贸澜栏肺 埃促.
if(m_pHeadPoint + PACKETBUFFERSIZE > m_pEndPoint )
m_pHeadPoint = m_pStartPoint;
return TRUE;
}
//-------------------------------------------------------------------------------------------------------
// Name :: char * SetCurrBuf(int iPos)
// Create Date :: 2003/12/30
// Description :: .
// param ::
// int iPos : 皋葛府蔼阑 iPos父怒 捞悼矫难霖促.
// Return Value :: char * : m_pCurrPoint 皋葛府狼 林家蔼
// Bug Report ::
//-------------------------------------------------------------------------------------------------------
char * CMMemoryManager::SetCurrBuf(int iPos)
{
m_pCurrPoint += iPos;
return m_pCurrPoint;
}
//-------------------------------------------------------------------------------------------------------
// Name :: char * GetTailPoint()
// Create Date :: 2003/12/30
// Description :: .
// param ::
// Return Value :: char * : m_pTailPoint 皋葛府狼 林家蔼
// Bug Report ::
//-------------------------------------------------------------------------------------------------------
char * CMMemoryManager::GetCurrBuf()
{
return m_pCurrPoint;
}
//-------------------------------------------------------------------------------------------------------
// Name :: char * SetTailPoint(int iPos)
// Create Date :: 2003/12/30
// Description :: .
// param ::
// int iPos : 皋葛府蔼阑 iPos父怒 捞悼矫难霖促.
// Return Value :: char * : m_pTailPoint 皋葛府狼 林家蔼
// Bug Report ::
//-------------------------------------------------------------------------------------------------------
char * CMMemoryManager::SetTailPoint(int iPos)
{
m_pTailPoint += iPos;
return m_pTailPoint;
}
//-------------------------------------------------------------------------------------------------------
// Name :: char * GetTailPoint()
// Create Date :: 2003/12/30
// Description :: .
// param ::
// Return Value :: char * : m_pTailPoint 皋葛府狼 林家蔼
// Bug Report ::
//-------------------------------------------------------------------------------------------------------
char * CMMemoryManager::GetTailPoint()
{
return m_pTailPoint;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -