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:
182
Server/NFAuthTool/NFAuthServer/NaveNet/NFIOBuffer.h
Normal file
182
Server/NFAuthTool/NFAuthServer/NaveNet/NFIOBuffer.h
Normal file
@@ -0,0 +1,182 @@
|
||||
/**
|
||||
* @file NFIOBuffer.h
|
||||
* @brief I/O Buffering, Packet I/O Buffering
|
||||
* @remarks
|
||||
* @author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
|
||||
* @date 2009-04-02
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace NaveNet {
|
||||
|
||||
#define IOBUF_DEF_SIZE DEF_MAXPACKETSIZE*128 // IOBuffer<65><72> <20>⺻ũ<E2BABB><C5A9> <20><>Ŷ 1024<32><34><EFBFBD><EFBFBD>ŭ ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
/**
|
||||
@class
|
||||
@author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
|
||||
@date 2009-03-03
|
||||
@brief
|
||||
@warning
|
||||
*/
|
||||
/**
|
||||
* @class NFIOBuffer
|
||||
* @brief I/O Buffering Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
* @remarks I/O Buffering <20><> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>. Sock<63><6B> <20>̿<EFBFBD><CCBF><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20>ְ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> \r\n
|
||||
* <09><><EFBFBD>Ŀ<EFBFBD><C4BF>ų<EFBFBD> <20><><EFBFBD>ҵǾ<D2B5> <20>ö<EFBFBD> <20><> <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD> <20><> ó<><C3B3><EFBFBD>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.(IOBuffer<65><72> \r\n
|
||||
* <09><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD> PacektIOBuffer Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD>ϰ<EFBFBD>.. \r\n
|
||||
* \r\n
|
||||
* <09>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PacketBuffer<65><72> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><>Ʈ<EFBFBD><C6AE>(?)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. \r\n
|
||||
* --------------------------------------------------------------------------------------- \r\n
|
||||
* | 2byte | 2byte | CheckSum(4Byte) | Header.Siz-Headere <20><>ŭ<EFBFBD><C5AD> <20><><EFBFBD><EFBFBD> Packet <20>뷮 Header | \r\n
|
||||
* --------------------------------------------------------------------------------------- \r\n
|
||||
* IOBufferŬ<72><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20>ϳ<EFBFBD><CFB3><EFBFBD> <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD> <20><> <20><>Ŷ<EFBFBD><C5B6> \r\n
|
||||
* <09><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. 2Byte<74><65> 65535<33><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> ó<><C3B3><EFBFBD>Ѵ<EFBFBD>. \r\n
|
||||
* @par
|
||||
* @author Edith
|
||||
* @date 2009-04-04
|
||||
*/
|
||||
class NFIOBuffer
|
||||
{
|
||||
public:
|
||||
/// NFIOBuffer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NFIOBuffer();
|
||||
/// NFIOBuffer <20>Ҹ<EFBFBD><D2B8><EFBFBD>
|
||||
virtual ~NFIOBuffer();
|
||||
|
||||
public:
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9> <20><><EFBFBD><EFBFBD>.
|
||||
VOID CalcBuffered();
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
inline CHAR* GetBuffer() { return m_cBuf; }
|
||||
/**
|
||||
* @brief Head Pos<6F><73> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
* @param Head Head Pos<6F><73>
|
||||
*/
|
||||
inline VOID SetHead(INT Head) { m_iHead = Head; CalcBuffered(); }
|
||||
/**
|
||||
* @brief Head Pos<6F><73> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return Head Pos <20><>
|
||||
*/
|
||||
inline INT GetHead() { return m_iHead; }
|
||||
/**
|
||||
* @brief Tail Pos<6F><73> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
* @param Tail Tail Pos<6F><73>
|
||||
*/
|
||||
inline VOID SetTail(INT Tail) { m_iTail = Tail; }
|
||||
/**
|
||||
* @brief Tail Pos<6F><73> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return Tail Pos <20><>
|
||||
*/
|
||||
inline INT GetTail() { return m_iTail; }
|
||||
/**
|
||||
* @brief <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü ũ<>⸦ <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü ũ<><C5A9>
|
||||
*/
|
||||
inline INT GetBufSize() { return m_iBufSize; }
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
*/
|
||||
inline INT GetBufferUsed() { return m_iBuffered; }
|
||||
/**
|
||||
* @brief <09><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
|
||||
* @return <09><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
*/
|
||||
inline INT GetEmptyBuffer() { return m_iBufSize - m_iBuffered; }
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۸<EFBFBD> <20>ʱ<EFBFBD>ȭ<EFBFBD>մϴ<D5B4>.
|
||||
*/
|
||||
VOID InitIOBuf();
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۸<EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
* @param Buffer <09><><EFBFBD><EFBFBD>
|
||||
* @param Size ũ<><C5A9>
|
||||
* @return <09>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
*/
|
||||
INT Append(const CHAR* Buffer, INT Size);
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۸<EFBFBD> <20>н<EFBFBD><D0BD>ϴ<EFBFBD>.
|
||||
* @param Buffer <09><><EFBFBD><EFBFBD>
|
||||
* @param Size <09><><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
* @return <09>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
*/
|
||||
INT GetData(CHAR* Buffer, INT Size);
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۱<EFBFBD><DBB1><EFBFBD> üũ<C3BC>մϴ<D5B4>.
|
||||
* @param Size üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD>
|
||||
* @return üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Size<7A><65><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
*/
|
||||
INT CheckData(INT Size);
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
* @param BufSize <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
*/
|
||||
VOID NewIOBuf(INT BufSize);
|
||||
|
||||
/**
|
||||
* @brief <09><><EFBFBD>۸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
*/
|
||||
VOID DeleteIOBuf();
|
||||
|
||||
private:
|
||||
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ.
|
||||
INT m_iHead;
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
|
||||
INT m_iTail;
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INT m_iBufSize;
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
CHAR* m_cBuf;
|
||||
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̰<EFBFBD><CCB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Over Flow..
|
||||
INT m_iBuffered;
|
||||
};
|
||||
|
||||
/**
|
||||
* @class NFPacketIOBuffer
|
||||
* @brief Packet I/O Buffering Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
* @remarks NFPacket<65><74> <20>ڵ<EFBFBD>ȭ <20>Ǿ<EFBFBD><C7BE>ִ<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> \r\n
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
|
||||
* @par
|
||||
* @author Edith
|
||||
* @date 2009-04-04
|
||||
*/
|
||||
class NFPacketIOBuffer : public NFIOBuffer
|
||||
{
|
||||
public:
|
||||
/// NFPacketIOBuffer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NFPacketIOBuffer();
|
||||
/// NFPacketIOBuffer <20>Ҹ<EFBFBD><D2B8><EFBFBD>
|
||||
virtual ~NFPacketIOBuffer();
|
||||
|
||||
public:
|
||||
/// <20><><EFBFBD>۸<EFBFBD> Lock <20>մϴ<D5B4>.
|
||||
VOID Lock();
|
||||
|
||||
/// <20><><EFBFBD>۸<EFBFBD> UnLock <20>մϴ<D5B4>.
|
||||
VOID UnLock();
|
||||
|
||||
// <20>Ѱ<EFBFBD><D1B0>з<EFBFBD><D0B7><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
||||
INT GetPacket(NFPacket* Packet);
|
||||
|
||||
// <20><>Ŷüũ
|
||||
BOOL CheckPacket();
|
||||
|
||||
private:
|
||||
/// Lock <20><> UnLock<63><6B><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
INT m_iLockHead;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user