PracticeDev/study_clang/Mimic/test_messagequeue/include/CJudgeConf.h

49 lines
1.2 KiB
C++

/*************************************************************************
> 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 <mutex>
#include "CTypedef.h"
#include "CJudgeUtils.h"
typedef std::map<std::string, std::set<int> > CACHE_MAP;
typedef std::vector<NosConfMsg_ST> MSG_VEC;
struct MsgGroup
{
CACHE_MAP cache_map; // 一组执行体消息的对比缓存
MSG_VEC msg_vec; // 一组执行体消息源
time_t start_ms; // 一组新消息进入起始时间
unsigned int uiPort; // 一组消息的端口
};
class JudgeConf : public CSingleton<JudgeConf>
{
public:
JudgeConf() { }
~JudgeConf() { }
void Init(int _nos_num, int _running_num);
void Judge();
private:
std::map<int, MsgGroup> group_map; // 按iCmd划分消息组,nos端口相同
int nos_num;
int running_num;
int nos_status; // 各个nos是否running TODO
private:
int GetCacheNosNum(CACHE_MAP& map);
};
#endif