/************************************************************************* > File Name : ../include/CJudge.h > Author : FengChao > EMail : smile.fengchao@gmail.com > Created Time : Thu 16 Jul 2020 11:33:38 AM CST ************************************************************************/ #ifndef CJUDGE_H #define CJUDGE_H #include #include "CTypedef.h" #include "CJudgeUtils.h" typedef std::map > CACHE_MAP; typedef std::vector MSG_VEC; struct MsgGroup { CACHE_MAP cache_map; // 一组执行体消息的对比缓存 MSG_VEC msg_vec; // 一组执行体消息源 time_t start_ms; // 一组新消息进入起始时间 unsigned int uiPort; // 一组消息的端口 }; class JudgeConf : public CSingleton { public: JudgeConf() { } virtual ~JudgeConf() { } public: void Init(int _nos_num, int _running_num); void Judge(); private: std::map group_map; // 按iCmd划分消息组,nos端口相同 int nos_num; int running_num; int nos_status; // 各个nos是否running TODO private: int GetCacheNosNum(CACHE_MAP& map); }; #endif