common基础类二
三)class CDsSyncListen: public CThread
定义:监听的线程类,在数据源线程中打开
作用:监听socket连接事件
数据:
protected:
CDsSyncProv *m_pDsSyncProv;
二)class CDatasource : public CThread 主线程下的数据源子线程
定义:继承线程函数,数据来源
作用:一个连接就一个数据源,用于socket数据源的处理,接收等,一个线程循环
私有数据一下:
CStringList m_lstPsNetName;//网元名称列表
CPsTaskMap &m_mapTaskQueue;//任务队列
CMsgTask m_cResultQueue;//回执任务队列
int32 m_iMaxBufSize;//最大数据缓存
int32 m_iIdleSleepTime;//空时休眠时间
int32 m_iBusySleepTime;//忙时休眠时间
bool m_isConnect;//数据库连接是否正常
int32 m_isUpdateNew;//是否更新一次中间状态数据
bool m_isDisable;//是否停用数据源
int32 m_iIdleSize;//空闲大小,当队列空闲值超过这个值时,才进行取数据,否则停止
int32 m_iLastPrintLogTime; //最后一次日志时间
int32 m_iPrintLogInterval; //缺省日志间隔
继承的子类CDsSyncProv:public Cdatasource 私有数据
AISTD string m_strProcessName; //进程名
AISTD string m_strIp;//监听IP地址
int32 m_iPort;//监听端口
int32 m_iMaxListenNum;//最大通讯个数
int32 m_iWaitCltTime;//第一个CLT联入等待时间
/* 是否需要特殊处理
根据浙江要求,需要把SC协议的返回进行特殊特殊处理,如
平台返回ACK:ADD VPN1 MEMBERS:RETN=0,DESC="增加集团用户成功",需要特殊处理成
RETN=0,DESC=VPN::0:"增加集团用户成功",其中VPN是平台名,0是RETN的值
*/
bool m_bSpecialProcess;
//是否是测试,如是测试,则只有测试号码才可以被处理
bool m_bTest;
CMsgTaskMap m_cResultMap; //结果MAP,一个accept文件描述符对应一个队列,在processinputMessage函数
每次接受到连接请求后就建立此队列
CClientMap m_mapClient;//当前客户段,一个accept文件描述符对应一个TCP连接对象,在listen
函数中添加
CCommTCP m_cCommServer;//监听端口
CSynControl m_cSyncListen;//
CThread *m_pListenThread;//监听线程
CPoll m_cPoll; //poll对象
CStringList m_lstAsyncPsNetCode; //需要进行异步处理的网元
浙公网安备 33010602011771号