诸暨麻将添加redis
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

99 рядки
2.3 KiB

  1. #ifndef SERVICE_UNITS_HEAD_FILE
  2. #define SERVICE_UNITS_HEAD_FILE
  3. #pragma once
  4. #include "Stdafx.h"
  5. #include "InitParameter.h"
  6. #include "AttemperEngineSink.h"
  7. #include "RedisHead.h"
  8. //////////////////////////////////////////////////////////////////////////////////
  9. //枚举定义
  10. //服务状态
  11. enum enServiceStatus
  12. {
  13. ServiceStatus_Stop, //停止状态
  14. ServiceStatus_Config, //配置状态
  15. ServiceStatus_Service, //服务状态
  16. };
  17. //////////////////////////////////////////////////////////////////////////////////
  18. //状态接口
  19. interface IServiceUnitsSink
  20. {
  21. //接口定义
  22. public:
  23. //服务状态
  24. virtual VOID OnServiceUnitsStatus(enServiceStatus ServiceStatus) = NULL;
  25. };
  26. //////////////////////////////////////////////////////////////////////////////////
  27. //服务单元
  28. class CServiceUnits
  29. {
  30. //状态变量
  31. protected:
  32. enServiceStatus m_ServiceStatus; //运行状态
  33. //组件变量
  34. private:
  35. CWHDataQueue m_DataQueue; //数据队列
  36. CCriticalSection m_CriticalSection; //同步对象
  37. //服务组件
  38. protected:
  39. CInitParameter m_InitParameter; //配置参数
  40. public:
  41. CAttemperEngineSink m_AttemperEngineSink; //调度钩子
  42. //内核组件
  43. protected:
  44. CTimerEngineHelper m_TimerEngine; //时间引擎
  45. CAttemperEngineHelper m_AttemperEngine; //调度引擎
  46. CTCPNetworkEngineHelper m_TCPNetworkEngine; //网络引擎
  47. std::shared_ptr<RedisBase> m_RedisClient;//redis
  48. //接口变量
  49. protected:
  50. IServiceUnitsSink * m_pIServiceUnitsSink; //状态接口
  51. //函数定义
  52. public:
  53. //构造函数
  54. CServiceUnits();
  55. //析构函数
  56. virtual ~CServiceUnits();
  57. //信息函数
  58. public:
  59. //获取状态
  60. enServiceStatus GetServiceStatus() { return m_ServiceStatus; }
  61. //服务控制
  62. public:
  63. //启动服务
  64. bool StartService();
  65. //停止服务
  66. bool ConcludeService();
  67. //设置接口
  68. bool SetServiceUnitsSink(IServiceUnitsSink * pIServiceUnitsSink);
  69. //辅助函数
  70. protected:
  71. //配置组件
  72. bool InitializeService();
  73. //启动内核
  74. bool StartKernelService();
  75. //内部函数
  76. private:
  77. //设置状态
  78. bool SetServiceStatus(enServiceStatus ServiceStatus);
  79. };
  80. //////////////////////////////////////////////////////////////////////////////////
  81. #endif