DragonNest/Server/DNLogServer/DNThreadManager.cpp
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

55 lines
No EOL
1.3 KiB
C++

#include "StdAfx.h"
#include "DNIocpManager.h"
#include "DNThreadManager.h"
#include "DNConnection.h"
#include "Log.h"
#include "DNProtocol.h"
#include "DNserviceConnection.h"
CDNThreadManager g_ThreadManager;
CDNThreadManager::CDNThreadManager(void): CThreadManager()
{
}
CDNThreadManager::~CDNThreadManager(void)
{
}
#if defined(PRE_DEL_ONNULL)
void CDNThreadManager::OnCalled(CSocketContext *pSocketContext, char *pBuffer, TThreadData* tThreadData)
#else
void CDNThreadManager::OnCalled(CSocketContext *pSocketContext, char *pBuffer, int nThreadID)
#endif
{
#if defined(PRE_DEL_ONNULL)
int nThreadID = tThreadData->nThreadID;
#endif
switch(pSocketContext->m_dwKeyParam)
{
case CONNECTIONKEY_DEFAULT:
{
#if defined( PRE_FIX_SOCKETCONTEXT_DANGLINGPTR )
CScopeInterlocked Scope( &pSocketContext->m_lActiveCount );
if( Scope.bIsDelete() )
break;
#endif // #if defined( PRE_FIX_SOCKETCONTEXT_DANGLINGPTR )
CDNConnection *pCon = (CDNConnection*)pSocketContext->GetParam();
if (!pCon) return;
pCon->FlushDBData( nThreadID );
}
break;
case CONNECTIONKEY_SERVICEMANAGER:
{
CDNServiceConnection *pCon = (CDNServiceConnection*)pSocketContext->GetParam();
if (!pCon) return;
pCon->FlushRecvData(0);
}
break;
}
g_pIocpManager->DetachSocket(pSocketContext, L"OnCalled");
}