Skip to content

Commit f654f53

Browse files
committed
Merge branch 'develop'
Former-commit-id: df5bca8f22523ff5174c0abf8b9735bf066fb662 [formerly fae4b9d3b31f4f47870d58322b0044c6c427b76a] [formerly da11148a1c75b423ef5b3ecfb874dcbd0b7c2efb [formerly 2d0d2f85a1bf02b5033c98d39abaffc406072782]] Former-commit-id: 86c9d5384e1cd070cad4df9cf535b75aa5f8a019 [formerly 54b637a10e68f5d6d52ac08f0495d3f5c7b8211b] Former-commit-id: d8f65cdcd654e9d631b8e62af42dfdd2c5e3415d
2 parents 719ab71 + b56f3ee commit f654f53

File tree

8 files changed

+67
-72
lines changed

8 files changed

+67
-72
lines changed

Frame/SDK/Core/Base/AFLockFreeQueue.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include "SDK/Core/Base/AFPlatform.hpp"
2424
#include "common/readerwriterqueue.h"
2525

26-
2726
template<typename T>
2827
class AFLockFreeQueue
2928
{
@@ -47,11 +46,11 @@ class AFLockFreeQueue
4746
return mList.try_dequeue(object);
4847
}
4948

50-
int Count()
49+
size_t Count()
5150
{
5251
return mList.size_approx();
5352
}
5453

5554
private:
56-
moodycamel::BlockingReaderWriterQueue <T> mList;
55+
moodycamel::BlockingReaderWriterQueue<T> mList;
5756
};

Frame/SDK/Net/AFCNetClient.cpp

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void AFCNetClient::ProcessMsgLogicThread()
4848
ProcessMsgLogicThread(m_pClientObject.get());
4949
}
5050

51-
if(NULL != m_pClientObject.get() && m_pClientObject->NeedRemove())
51+
if(m_pClientObject != nullptr && m_pClientObject->NeedRemove())
5252
{
5353
AFScopeWrLock xGuard(mRWLock);
5454
m_pClientObject.release();
@@ -64,16 +64,16 @@ void AFCNetClient::ProcessMsgLogicThread(NetObject* pEntity)
6464
}
6565

6666
//Handle Msg;
67-
const int nReceiveCount = pEntity->mqMsgFromNet.Count();
68-
for(size_t i = 0; (i < nReceiveCount); i++)
67+
size_t nReceiveCount = pEntity->mqMsgFromNet.Count();
68+
for(size_t i = 0; i < nReceiveCount; ++i)
6969
{
70-
MsgFromNetInfo* pMsgFromNet(NULL);
70+
MsgFromNetInfo* pMsgFromNet(nullptr);
7171
if(!pEntity->mqMsgFromNet.Pop(pMsgFromNet))
7272
{
7373
break;
7474
}
7575

76-
if(!pMsgFromNet)
76+
if(pMsgFromNet == nullptr)
7777
{
7878
continue;
7979
}
@@ -109,25 +109,25 @@ void AFCNetClient::ProcessMsgLogicThread(NetObject* pEntity)
109109
}
110110
void AFCNetClient::Initialization(const std::string& strAddrPort, const int nServerID)
111111
{
112-
#ifdef _MSC_VER
112+
#if ARK_PLATFORM == PLATFORM_WIN
113113
WSADATA wsa_data;
114114
WSAStartup(MAKEWORD(2, 2), &wsa_data);
115115
#endif
116116

117117
mstrIPPort = strAddrPort;
118118
mnServerID = nServerID;
119-
#if __cplusplus < 201402L
120-
m_pThread.reset(new evpp::EventLoopThread);
119+
#if defined(HAVE_LANG_CXX14) || defined(HAVE_LANG_CXX17)
120+
m_pThread = std::make_unique<evpp::EventLoopThread>();
121121
#else
122-
m_pThread = std::make_unique<evpp::EventLoopThread>();
122+
m_pThread.reset(new evpp::EventLoopThread);
123123
#endif
124124
m_pThread->set_name("TCPClientThread");
125125
m_pThread->Start();
126126

127-
#if __cplusplus < 201402L
128-
m_pClient.reset(new evpp::TCPClient(m_pThread->loop(), mstrIPPort, "TCPPingPongClient"));
127+
#if defined(HAVE_LANG_CXX14) || defined(HAVE_LANG_CXX17)
128+
m_pClient = std::make_unique<evpp::TCPClient>(m_pThread->loop(), mstrIPPort, "TCPClient");
129129
#else
130-
m_pClient = std::make_unique<evpp::TCPClient>(m_pThread->loop(), mstrIPPort, "TCPPingPongClient");
130+
m_pClient.reset(new evpp::TCPClient(m_pThread->loop(), mstrIPPort, "TCPClient"));
131131
#endif
132132

133133
m_pClient->SetConnectionCallback(std::bind(&AFCNetClient::OnClientConnectionInner,this, std::placeholders::_1));
@@ -156,11 +156,12 @@ bool AFCNetClient::CloseSocketAll()
156156
return true;
157157
}
158158

159-
bool AFCNetClient::SendMsg(const char* msg, const uint32_t nLen, const AFGUID& xClient)
159+
bool AFCNetClient::SendMsg(const char* msg, const size_t nLen, const AFGUID& xClient)
160160
{
161-
if(m_pClient->conn().get())
161+
if(m_pClient->conn() != nullptr)
162162
{
163163
m_pClient->conn()->Send(msg, nLen);
164+
return true;
164165
}
165166

166167
return false;
@@ -185,7 +186,7 @@ bool AFCNetClient::DismantleNet(NetObject* pEntity)
185186
pNetInfo->nType = RECIVEDATA;
186187
pNetInfo->strMsg.append(pEntity->GetBuff() + AFIMsgHead::ARK_MSG_HEAD_LENGTH, nMsgBodyLength);
187188
pEntity->mqMsgFromNet.Push(pNetInfo);
188-
int nNewSize = pEntity->RemoveBuff(nMsgBodyLength + AFIMsgHead::ARK_MSG_HEAD_LENGTH);
189+
size_t nNewSize = pEntity->RemoveBuff(nMsgBodyLength + AFIMsgHead::ARK_MSG_HEAD_LENGTH);
189190
}
190191
else
191192
{
@@ -253,8 +254,6 @@ void AFCNetClient::OnClientConnectionInner(const evpp::TCPConnPtr& conn)
253254
pMsg->xClientID = conn->id();
254255
pMsg->nType = DISCONNECTED;
255256

256-
257-
//娑撹崵鍤庣粙瀣╃瑝閼崇晫娲块幒銉ュ灩闂勩們鈧倷绗夐悞鎯扮箹闁插苯姘ㄩ柌搴濈啊
258257
if(!conn->context().IsEmpty())
259258
{
260259
NetObject* pEntity = evpp::any_cast<NetObject*>(conn->context());
@@ -297,7 +296,7 @@ void AFCNetClient::OnMessageInner(const evpp::TCPConnPtr& conn, evpp::Buffer* ms
297296
}
298297
}
299298

300-
bool AFCNetClient::SendMsgWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID & xClientID, const AFGUID& xPlayerID)
299+
bool AFCNetClient::SendMsgWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID & xClientID, const AFGUID& xPlayerID)
301300
{
302301
std::string strOutData;
303302
AFCMsgHead xHead;
@@ -314,21 +313,21 @@ bool AFCNetClient::SendMsgWithOutHead(const int16_t nMsgID, const char* msg, con
314313
return false;
315314
}
316315

317-
int AFCNetClient::EnCode(const AFCMsgHead& xHead, const char* strData, const uint32_t unDataLen, std::string& strOutData)
316+
int AFCNetClient::EnCode(const AFCMsgHead& xHead, const char* strData, const size_t len, std::string& strOutData)
318317
{
319318
char szHead[AFIMsgHead::ARK_MSG_HEAD_LENGTH] = { 0 };
320319
int nSize = xHead.EnCode(szHead);
321320

322321
strOutData.clear();
323322
strOutData.append(szHead, AFIMsgHead::ARK_MSG_HEAD_LENGTH);
324-
strOutData.append(strData, unDataLen);
323+
strOutData.append(strData, len);
325324

326325
return xHead.GetBodyLength() + AFIMsgHead::ARK_MSG_HEAD_LENGTH;
327326
}
328327

329-
int AFCNetClient::DeCode(const char* strData, const uint32_t unAllLen, AFCMsgHead & xHead)
328+
int AFCNetClient::DeCode(const char* strData, const size_t len, AFCMsgHead & xHead)
330329
{
331-
if(unAllLen < AFIMsgHead::ARK_MSG_HEAD_LENGTH)
330+
if(len < AFIMsgHead::ARK_MSG_HEAD_LENGTH)
332331
{
333332
return -1;
334333
}
@@ -338,7 +337,7 @@ int AFCNetClient::DeCode(const char* strData, const uint32_t unAllLen, AFCMsgHea
338337
return -2;
339338
}
340339

341-
if(xHead.GetBodyLength() > (unAllLen - AFIMsgHead::ARK_MSG_HEAD_LENGTH))
340+
if(xHead.GetBodyLength() > (len - AFIMsgHead::ARK_MSG_HEAD_LENGTH))
342341
{
343342
return -3;
344343
}

Frame/SDK/Net/AFCNetClient.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class AFCNetClient : public AFINet
4646
}
4747

4848
template<typename BaseType>
49-
AFCNetClient(BaseType* pBaseType, void (BaseType::*handleRecieve)(const AFIMsgHead& xHead, const int, const char*, const uint32_t, const AFGUID&), void (BaseType::*handleEvent)(const NetEventType, const AFGUID&, const int))
49+
AFCNetClient(BaseType* pBaseType, void (BaseType::*handleRecieve)(const AFIMsgHead& xHead, const int, const char*, const size_t, const AFGUID&), void (BaseType::*handleEvent)(const NetEventType, const AFGUID&, const int))
5050
{
5151
mRecvCB = std::bind(handleRecieve, pBaseType, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5);
5252
mEventCB = std::bind(handleEvent, pBaseType, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
@@ -64,7 +64,7 @@ class AFCNetClient : public AFINet
6464
virtual void Update();
6565
virtual void Initialization(const std::string& strAddrPort, const int nServerID);
6666
virtual bool Final();
67-
virtual bool SendMsgWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID& xClientID = 0, const AFGUID& xPlayerID = 0);
67+
virtual bool SendMsgWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID& xClientID = 0, const AFGUID& xPlayerID = 0);
6868

6969
virtual bool CloseNetObject(const AFGUID& xClient);
7070

@@ -82,7 +82,7 @@ class AFCNetClient : public AFINet
8282
evpp::Buffer* msg);
8383

8484
private:
85-
bool SendMsg(const char* msg, const uint32_t nLen, const AFGUID& xClient = 0);
85+
bool SendMsg(const char* msg, const size_t nLen, const AFGUID& xClient = 0);
8686

8787
bool DismantleNet(NetObject* pEntity);
8888
void ProcessMsgLogicThread();
@@ -92,8 +92,8 @@ class AFCNetClient : public AFINet
9292
static void log_cb(int severity, const char* msg);
9393

9494
protected:
95-
int DeCode(const char* strData, const uint32_t unLen, AFCMsgHead& xHead);
96-
int EnCode(const AFCMsgHead& xHead, const char* strData, const uint32_t unDataLen, std::string& strOutData);
95+
int DeCode(const char* strData, const size_t len, AFCMsgHead& xHead);
96+
int EnCode(const AFCMsgHead& xHead, const char* strData, const size_t len, std::string& strOutData);
9797

9898
private:
9999
std::unique_ptr<evpp::EventLoopThread> m_pThread;

Frame/SDK/Net/AFCNetServer.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -169,17 +169,17 @@ void AFCNetServer::ProcessMsgLogicThread()
169169

170170
void AFCNetServer::ProcessMsgLogicThread(NetObject* pEntity)
171171
{
172-
//Handle Msg;
173-
const int nReceiveCount = pEntity->mqMsgFromNet.Count();
174-
for(size_t i = 0; (i < nReceiveCount); i++)
172+
//Handle Msg
173+
size_t nReceiveCount = pEntity->mqMsgFromNet.Count();
174+
for(size_t i = 0; i < nReceiveCount; ++i)
175175
{
176176
MsgFromNetInfo* pMsgFromNet(NULL);
177177
if(!pEntity->mqMsgFromNet.Pop(pMsgFromNet))
178178
{
179179
break;
180180
}
181181

182-
if(!pMsgFromNet)
182+
if(pMsgFromNet == nullptr)
183183
{
184184
continue;
185185
}
@@ -222,7 +222,7 @@ bool AFCNetServer::Final()
222222
return true;
223223
}
224224

225-
bool AFCNetServer::SendMsgToAllClient(const char* msg, const uint32_t nLen)
225+
bool AFCNetServer::SendMsgToAllClient(const char* msg, const size_t nLen)
226226
{
227227
std::map<AFGUID, NetObject*>::iterator it = mmObject.begin();
228228
for(; it != mmObject.end(); ++it)
@@ -237,7 +237,7 @@ bool AFCNetServer::SendMsgToAllClient(const char* msg, const uint32_t nLen)
237237
return true;
238238
}
239239

240-
bool AFCNetServer::SendMsg(const char* msg, const uint32_t nLen, const AFGUID& xClient)
240+
bool AFCNetServer::SendMsg(const char* msg, const size_t nLen, const AFGUID& xClient)
241241
{
242242
AFScopeRdLock xGuard(mRWLock);
243243

@@ -290,7 +290,7 @@ bool AFCNetServer::DismantleNet(NetObject* pEntity)
290290
pNetInfo->nType = RECIVEDATA;
291291
pNetInfo->strMsg.append(pEntity->GetBuff() + AFIMsgHead::ARK_MSG_HEAD_LENGTH, nMsgBodyLength);
292292
pEntity->mqMsgFromNet.Push(pNetInfo);
293-
int nRet = pEntity->RemoveBuff(nMsgBodyLength + AFIMsgHead::ARK_MSG_HEAD_LENGTH);
293+
size_t nRet = pEntity->RemoveBuff(nMsgBodyLength + AFIMsgHead::ARK_MSG_HEAD_LENGTH);
294294
}
295295
else
296296
{
@@ -326,7 +326,7 @@ NetObject* AFCNetServer::GetNetObject(const AFGUID& xClientID)
326326
return NULL;
327327
}
328328

329-
bool AFCNetServer::SendMsgWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID& xClientID, const AFGUID& xPlayerID)
329+
bool AFCNetServer::SendMsgWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID& xClientID, const AFGUID& xPlayerID)
330330
{
331331
std::string strOutData;
332332
AFCMsgHead xHead;
@@ -343,7 +343,7 @@ bool AFCNetServer::SendMsgWithOutHead(const int16_t nMsgID, const char* msg, con
343343
return false;
344344
}
345345

346-
bool AFCNetServer::SendMsgToAllClientWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID& xPlayerID)
346+
bool AFCNetServer::SendMsgToAllClientWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID& xPlayerID)
347347
{
348348
std::string strOutData;
349349
AFCMsgHead xHead;
@@ -359,21 +359,21 @@ bool AFCNetServer::SendMsgToAllClientWithOutHead(const int16_t nMsgID, const cha
359359
return false;
360360
}
361361

362-
int AFCNetServer::EnCode(const AFCMsgHead& xHead, const char* strData, const uint32_t unDataLen, std::string& strOutData)
362+
int AFCNetServer::EnCode(const AFCMsgHead& xHead, const char* strData, const size_t len, std::string& strOutData)
363363
{
364364
char szHead[AFIMsgHead::ARK_MSG_HEAD_LENGTH] = { 0 };
365365
int nRet = xHead.EnCode(szHead);
366366

367367
strOutData.clear();
368368
strOutData.append(szHead, AFIMsgHead::ARK_MSG_HEAD_LENGTH);
369-
strOutData.append(strData, unDataLen);
369+
strOutData.append(strData, len);
370370

371371
return xHead.GetBodyLength() + AFIMsgHead::ARK_MSG_HEAD_LENGTH;
372372
}
373373

374-
int AFCNetServer::DeCode(const char* strData, const uint32_t unAllLen, AFCMsgHead& xHead)
374+
int AFCNetServer::DeCode(const char* strData, const size_t len, AFCMsgHead& xHead)
375375
{
376-
if(unAllLen < AFIMsgHead::ARK_MSG_HEAD_LENGTH)
376+
if(len < AFIMsgHead::ARK_MSG_HEAD_LENGTH)
377377
{
378378
return -1;
379379
}
@@ -383,7 +383,7 @@ int AFCNetServer::DeCode(const char* strData, const uint32_t unAllLen, AFCMsgHea
383383
return -2;
384384
}
385385

386-
if(xHead.GetBodyLength() > (unAllLen - AFIMsgHead::ARK_MSG_HEAD_LENGTH))
386+
if(xHead.GetBodyLength() > (len - AFIMsgHead::ARK_MSG_HEAD_LENGTH))
387387
{
388388
return -3;
389389
}

Frame/SDK/Net/AFCNetServer.h

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class AFCNetServer : public AFINet
4949
}
5050

5151
template<typename BaseType>
52-
AFCNetServer(BaseType* pBaseType, void (BaseType::*handleRecieve)(const AFIMsgHead& xHead, const int, const char*, const uint32_t, const AFGUID&), void (BaseType::*handleEvent)(const NetEventType, const AFGUID&, const int))
52+
AFCNetServer(BaseType* pBaseType, void (BaseType::*handleRecieve)(const AFIMsgHead& xHead, const int, const char*, const size_t, const AFGUID&), void (BaseType::*handleEvent)(const NetEventType, const AFGUID&, const int))
5353
: mnMaxConnect(0)
5454
, mnCpuCount(0)
5555
, mnServerID(0)
@@ -74,8 +74,8 @@ class AFCNetServer : public AFINet
7474
return true;
7575
}
7676

77-
virtual bool SendMsgWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID& xClientID, const AFGUID& xPlayerID);
78-
virtual bool SendMsgToAllClientWithOutHead(const int16_t nMsgID, const char* msg, const uint32_t nLen, const AFGUID& xPlayerID);
77+
virtual bool SendMsgWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID& xClientID, const AFGUID& xPlayerID);
78+
virtual bool SendMsgToAllClientWithOutHead(const uint16_t nMsgID, const char* msg, const size_t nLen, const AFGUID& xPlayerID);
7979

8080
virtual bool CloseNetObject(const AFGUID& xClientID);
8181
virtual bool Log(int severity, const char* msg)
@@ -85,18 +85,16 @@ class AFCNetServer : public AFINet
8585

8686
public:
8787
//From Worker Thread
88-
static void OnMessage(const evpp::TCPConnPtr& conn,
89-
evpp::Buffer* msg, void* pData);
90-
void OnMessageInner(const evpp::TCPConnPtr& conn,
91-
evpp::Buffer* msg);
88+
static void OnMessage(const evpp::TCPConnPtr& conn, evpp::Buffer* msg, void* pData);
89+
void OnMessageInner(const evpp::TCPConnPtr& conn, evpp::Buffer* msg);
9290

9391
//From ListenThread
9492
static void OnClientConnection(const evpp::TCPConnPtr& conn, void* pData);
9593
void OnClientConnectionInner(const evpp::TCPConnPtr& conn);
9694

9795
private:
98-
bool SendMsgToAllClient(const char* msg, const uint32_t nLen);
99-
bool SendMsg(const char* msg, const uint32_t nLen, const AFGUID& xClient);
96+
bool SendMsgToAllClient(const char* msg, const size_t nLen);
97+
bool SendMsg(const char* msg, const size_t nLen, const AFGUID& xClient);
10098
bool AddNetObject(const AFGUID& xClientID, NetObject* pEntity);
10199
bool RemoveNetObject(const AFGUID& xClientID);
102100
NetObject* GetNetObject(const AFGUID& xClientID);
@@ -108,8 +106,8 @@ class AFCNetServer : public AFINet
108106
bool DismantleNet(NetObject* pEntity);
109107

110108
protected:
111-
int DeCode(const char* strData, const uint32_t unLen, AFCMsgHead& xHead);
112-
int EnCode(const AFCMsgHead& xHead, const char* strData, const uint32_t unDataLen, std::string& strOutData);
109+
int DeCode(const char* strData, const size_t len, AFCMsgHead& xHead);
110+
int EnCode(const AFCMsgHead& xHead, const char* strData, const size_t len, std::string& strOutData);
113111

114112
private:
115113
std::unique_ptr<evpp::TCPServer> m_pTcpSrv;

0 commit comments

Comments
 (0)