/** * @file NFPacketPool.h * @brief Packet Pool °ü¸®°´Ã¼, À̰÷¿¡¼­ Buffer¸¦ ÇÒ´çÇϰųª ÇØÁ¦ÇÑ´Ù. * @remarks * @author °­µ¿¸í(edith2580@gmail.com) * @date 2009-05-09 */ #pragma once namespace NaveServer { ////////////////////////////////////////////////////////////////////////////////////////////// // NFPacketPool Class ////////////////////////////////////////////////////////////////////////////////////////////// class NFPacketPool { //---------------------- Member Functions ----------------------// public: NFPacketPool(); // Contructor virtual ~NFPacketPool(); // Destructor BOOL Create(INT nMaxUse = DEF_MAXUSER, // ÃÖ´ë À¯Àú CHAR* lpszFileName = NULL, // ·Î±× ÆÄÀÏ À̸§ INT nMaxPacketSize = DEF_MAXPACKETSIZE, INT nAcptBuffCnt = 1, INT nRecvBuffCnt = 8, INT nSendBuffCnt = 32); // Create Packet Pool VOID Release(); // Operations BOOL AllocAcptPacket(LPOVERLAPPEDPLUS &newolp); // Accept ÆÐŶ »ý¼º BOOL AllocRecvPacket(LPOVERLAPPEDPLUS &newolp); // Receive ÆÐŶ »ý¼º BOOL AllocSendPacket(LPOVERLAPPEDPLUS &newolp); // Send Buffer »ý¼º BOOL AllocProcBuffer(PCHAR &newbuf); // Send Buffer »ý¼º BOOL FreeAcptPacket(LPOVERLAPPEDPLUS olp); // Accept ÆÐŶ ÇØÁ¦ BOOL FreeRecvPacket(LPOVERLAPPEDPLUS olp); // Receive ÆÐŶ ÇØÁ¦ BOOL FreeSendPacket(LPOVERLAPPEDPLUS olp); // Send Buffer ÇØÁ¦ BOOL FreeProcBuffer(PCHAR buffer); // Send Buffer ÇØÁ¦ private: BOOL LogOpen(CHAR *lpszFileName); // ·Î±× ÆÄÀÏ ¿­±â BOOL __cdecl LogWrite(CHAR *lpszFmt, ...); // ·Î±× ÆÄÀÏ ¸¸µé±â VOID LogClose(); // ·Î±× ÆÄÀÏ ´Ý±â //---------------------- Member Variables ----------------------// private: FILE* m_hLogFile; // ·Î±× ÆÄÀÏÀ» ¸¸µé±â À§ÇÑ ÆÄÀÏ ÇÚµé °´Ã¼ NFMemPool * m_pAcptPool; // Accept Packet NFMemPool * m_pRecvPool; // Receive Packet NFMemPool * m_pProcPool; // Process Packet INT m_nMaxPacketSize; // ÆÐŶ »çÀÌÁî Á¤ÇÑ°Í }; }