Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
#ifndef _RYL_SERVER_DISPATCH_H_
|
||||
#define _RYL_SERVER_DISPATCH_H_
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
|
||||
#include <Thread/Lock.h>
|
||||
#include <Network/Dispatch/Dispatch.h>
|
||||
#include <Network/Stream/SendStream.h>
|
||||
#include <Stream/Buffer/BufferQueue.h>
|
||||
|
||||
// forward delc.
|
||||
struct PktBase;
|
||||
class CBuffer;
|
||||
class CBufferFactory;
|
||||
class INET_Addr;
|
||||
|
||||
class CRylServerDispatch : public CPacketDispatch
|
||||
{
|
||||
public:
|
||||
|
||||
enum CreationResult
|
||||
{
|
||||
S_CREATE_SUCCESS,
|
||||
E_INVALID_STARTBIT,
|
||||
E_ALLOCATE_BUFFER_FAILED,
|
||||
E_DECOMPRESS_FAILED
|
||||
};
|
||||
|
||||
static CreationResult CreatePacket(
|
||||
CBufferFactory& bufferFactory,
|
||||
CBufferQueue& bufferQueue, char* const lpStream_In,
|
||||
unsigned long* dwStreamSize_InOut);
|
||||
|
||||
virtual bool ParsePacket(char *const lpStream_In, unsigned long* dwStreamSize_InOut);
|
||||
|
||||
unsigned long GetMaxProcessPacketPerPulse() const { return m_dwMaxProcessPacketPerPulse; }
|
||||
void SetMaxProcessPacketPerPulse(unsigned long dwMaxProcessPacketPerPulse)
|
||||
{ m_dwMaxProcessPacketPerPulse = dwMaxProcessPacketPerPulse; }
|
||||
|
||||
void LogErrorPacket(const char* szDetailText, const unsigned char cCmd);
|
||||
void LogErrorPacketCreation(CreationResult eResult);
|
||||
|
||||
CBufferFactory& GetBufferFactory();
|
||||
CSendStream& GetSendStream() { return m_SendStream; }
|
||||
|
||||
INET_Addr& GetRemoteAddr();
|
||||
INET_Addr& GetLocalAddr();
|
||||
|
||||
bool Shutdown();
|
||||
void CloseSession();
|
||||
|
||||
protected:
|
||||
|
||||
CRylServerDispatch(CSession& Session, unsigned long dwMaxProcessPacketPerPulse);
|
||||
~CRylServerDispatch();
|
||||
|
||||
// <20><>Ŷ ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
virtual bool Dispatch();
|
||||
|
||||
// <20>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><>Ŷ <20><><EFBFBD>뿡 <20><><EFBFBD>ؼ<EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>, <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
virtual void ProcessTooManyPacket(CBufferQueue& bufferQueue);
|
||||
|
||||
// <20><>Ŷ<EFBFBD><C5B6> ó<><C3B3><EFBFBD>Ѵ<EFBFBD>.
|
||||
virtual bool DispatchPacket(PktBase* lpPktBase) = 0;
|
||||
|
||||
// Recv<63><76> <20><><EFBFBD>߰ų<DFB0>, <20><><EFBFBD><EFBFBD> Recv<63><76> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
void InternalCheckSuspendRecv(CBufferQueue& bufferQueue);
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
typedef CCSLock BufferQueueLock;
|
||||
|
||||
BufferQueueLock m_BufferQueueLock;
|
||||
CACHE_PAD(m_BufferQueueLockPadding, sizeof(BufferQueueLock));
|
||||
|
||||
CBufferQueue m_ProcessQueue;
|
||||
CSendStream m_SendStream;
|
||||
|
||||
unsigned long m_dwMaxProcessPacketPerPulse;
|
||||
unsigned long m_dwFlags;
|
||||
};
|
||||
|
||||
|
||||
class CSendPacketAllServer
|
||||
{
|
||||
public:
|
||||
|
||||
CSendPacketAllServer(const char* szData, unsigned long dwDataLen, unsigned char cPacketCmd);
|
||||
bool operator () (unsigned long dwServerID, CPacketDispatch& packetDispatch);
|
||||
|
||||
private:
|
||||
|
||||
const char* m_szData;
|
||||
unsigned long m_dwDataLen;
|
||||
unsigned char m_cPacketCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user