KCache.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: KCache.h
  5. // Date: 2000.08.08
  6. // Code: WangWei(Daphnis)
  7. // Desc: Header File
  8. //---------------------------------------------------------------------------
  9. #ifndef KCache_H
  10. #define KCache_H
  11. //---------------------------------------------------------------------------
  12. #include "KStrNode.h"
  13. #include "KStrList.h"
  14. //---------------------------------------------------------------------------
  15. class KCacheNode : public KStrNode
  16. {
  17. public:
  18. PVOID m_lpData; //对象指针
  19. LONG m_Ref; //本帧是否被引用
  20. public:
  21. KCacheNode() {m_Ref = 0; m_lpData = NULL;};
  22. };
  23. //---------------------------------------------------------------------------
  24. class ENGINE_API KCache
  25. {
  26. public:
  27. LONG m_nMaxNode; //最大对象节点数
  28. LONG m_nLimitNode; //设定的对象节点数
  29. KStrList m_HashList; //对象哈希链表
  30. public:
  31. KCache();
  32. ~KCache();
  33. virtual void Init(int nMaxNode=256);
  34. virtual KCacheNode* NewNode(char* lpName);
  35. virtual KCacheNode* GetNode(char* lpName, KCacheNode* lpNode);
  36. virtual BOOL LoadNode(KCacheNode* lpNode){return FALSE;};
  37. virtual void FreeNode(KCacheNode* lpNode){};
  38. void ClearNode(char * lpName);//清除某个结点
  39. void Prepare();
  40.     virtual void Release();
  41. };
  42. //---------------------------------------------------------------------------
  43. #endif