GlobalUserList.h
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #pragma once
  2. #define GLOBALLIST_MAXLIST 20000
  3. #define GLOBALLIST_MAXBUCKET 1000
  4. #include "..Def_OrzExsyncobj.h"
  5. #include "..Def_OrzExindexmap.h"
  6. #include "..Def_OrzExfsa.h"
  7. class CGlobalUserList : public CIntLock
  8. {
  9. public:
  10. class CUserInfo
  11. {
  12. public:
  13. enum { MAXID = 32, MAXIP = 32 };
  14. char szID[MAXID];
  15. char szIP[MAXIP];
  16. public:
  17. CUserInfo() { szID[0] = ''; szIP[0] = ''; }
  18. };
  19. public:
  20. CIndexMap< CUserInfo > m_listUser;
  21. CFixedSizeAllocator< CUserInfo > m_fixedMemory;
  22. public:
  23. CGlobalUserList();
  24. virtual ~CGlobalUserList();
  25. bool Insert( char *pID, char *pIP );
  26. CUserInfo * Search( char *pID );
  27. void Remove( char *pID );
  28. protected:
  29. static char * __cbGetKey( CUserInfo *pUser );
  30. };
  31. typedef CGlobalUserList::CUserInfo CGlobalUserInfo;
  32. CGlobalUserList * GetGlobalUserList();