Skip to content

Commit 8708614

Browse files
committed
modify:large memory use memory pool instead
1 parent e00fd0a commit 8708614

File tree

3 files changed

+8
-30
lines changed

3 files changed

+8
-30
lines changed

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,6 @@ bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
4545
bool bOnline = false;
4646
AUTHREG_USERTABLE** ppSt_UserInfo;
4747
AUTHSESSION_NETCLIENT** ppSt_ListClient;
48-
49-
XCHAR* ptszMsgBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX);
50-
if (NULL == ptszMsgBuffer)
51-
{
52-
Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "internal server error");
53-
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
54-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求用户列表失败,申请内存失败,错误:%d"), lpszClientAddr, errno);
55-
return false;
56-
}
57-
memset(ptszMsgBuffer, '\0', XENGINE_MEMORY_SIZE_MAX);
5848

5949
Protocol_Parse_HttpParsePos(lpszMsgBuffer, nMsgLen, &nPosStart, &nPosEnd);
6050
if ((nPosEnd - nPosStart) > 100)
@@ -80,13 +70,11 @@ bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
8070
DBModule_MySQL_UserList(&ppSt_UserInfo, &nOffCount, nPosStart, nPosEnd);
8171
}
8272
}
83-
Protocol_Packet_HttpClientList(ptszMsgBuffer, &nSDLen, &ppSt_ListClient, nOnCount, &ppSt_UserInfo, nOffCount);
73+
Protocol_Packet_HttpClientList(m_MemoryPool.get(), &nSDLen, &ppSt_ListClient, nOnCount, &ppSt_UserInfo, nOffCount);
8474

8575
BaseLib_Memory_Free((XPPPMEM)&ppSt_ListClient, nOnCount);
8676
BaseLib_Memory_Free((XPPPMEM)&ppSt_UserInfo, nOffCount);
87-
XEngine_Client_TaskSend(lpszClientAddr, ptszMsgBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
88-
free(ptszMsgBuffer);
89-
ptszMsgBuffer = NULL;
77+
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
9078
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求客户端列表成功,在线用户:%d,离线用户:%d,显示标志:%d"), lpszClientAddr, nOnCount, nOffCount - nOnCount, bOnline);
9179
}
9280
else if (0 == _tcsxnicmp(lpszAPIClose, lpszAPIName, _tcsxlen(lpszAPIClose)))

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,7 @@ bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCX
1616
int nPosStart = 0;
1717
int nPosEnd = 0;
1818

19-
XCHAR* ptszMsgBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX);
20-
if (NULL == ptszMsgBuffer)
21-
{
22-
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "internal server error");
23-
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
24-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求用户列表失败,申请内存失败,错误:%d"), lpszClientAddr, errno);
25-
return false;
26-
}
27-
memset(ptszMsgBuffer, '\0', XENGINE_MEMORY_SIZE_MAX);
19+
CHttpMemory_PoolEx m_HTTPMemoryPool(XENGINE_MEMORY_SIZE_MAX);
2820
Protocol_Parse_HttpParsePos(lpszMsgBuffer, nMsgLen, &nPosStart, &nPosEnd);
2921

3022
int nListCount = 0;
@@ -37,11 +29,9 @@ bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCX
3729
{
3830
DBModule_MySQL_TryList(&ppSt_AuthVer, &nListCount);
3931
}
40-
Protocol_Packet_HttpTryList(ptszMsgBuffer, &nSDLen, &ppSt_AuthVer, nListCount);
32+
Protocol_Packet_HttpTryList(m_HTTPMemoryPool.get(), &nSDLen, &ppSt_AuthVer, nListCount);
4133
BaseLib_Memory_Free((XPPPMEM)&ppSt_AuthVer, nListCount);
42-
XEngine_Client_TaskSend(lpszClientAddr, ptszMsgBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
43-
free(ptszMsgBuffer);
44-
ptszMsgBuffer = NULL;
34+
XEngine_Client_TaskSend(lpszClientAddr, m_HTTPMemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
4535
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,临时验证获取列表成功,列表个数:%d"), lpszClientAddr, nListCount);
4636
}
4737
else if (0 == _tcsxnicmp(lpszAPIName, lpszAPIDelete, _tcsxlen(lpszAPIName)))

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
3838
//安全验证判断
3939
if ((0 != _tcsxnicmp(st_UserInfo.tszEMailAddr, st_UserTable.st_UserInfo.tszEMailAddr, _tcsxlen(st_UserInfo.tszEMailAddr))) || (st_UserTable.st_UserInfo.nIDNumber != st_UserInfo.nIDNumber))
4040
{
41-
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_NOTFOUND, "user information is incorrent");
41+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_NOTMATCH, "user information is incorrent");
4242
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
4343
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户名:%s,删除用户失败,验证信息失败"), lpszClientAddr, st_UserInfo.tszUserName);
4444
return false;
@@ -54,7 +54,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
5454
}
5555
if (!bRet)
5656
{
57-
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 401, "user delete failed,maybe user verification failed");
57+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "user delete failed,maybe user verification failed");
5858
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
5959
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,删除用户:%s 失败,删除用户信息数据库错误,数据验证失败!"), lpszClientAddr, st_UserInfo.tszUserName);
6060
return false;
@@ -183,7 +183,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
183183
}
184184
if (!bSuccess)
185185
{
186-
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_NOTFOUND, "Serial number not available");
186+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_NOTMATCH, "Serial number not available");
187187
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
188188
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户名:%s,充值失败,无法继续,错误:%X"), lpszClientAddr, st_UserPay.tszUserName, DBModule_GetLastError());
189189
return false;

0 commit comments

Comments
 (0)