?? dnnode.h.bak
字號:
/**********************************************************************
FileName : DnNode.h
Description : 下節點類頭文件
Version : 1.0
Date : 2003年7月9日
Author : 劉榮輝
Other : 下屬SP
***********************************************************************/
#ifndef _DNNODE_H_
#define _DNNODE_H_
#include <pthread.h>
#include "socket.h"
#include "FileOpr.h"
#include "DB_MySQL.h"
#include "ConnectionPool.h"
#include "md5.h"
#define MFXX "MFXX" //業務代碼:免費信息
class CDnNode
{
public:
//構造、析構函數
CDnNode();
virtual ~CDnNode();
int NodeInit(); //初始化(隊列參數)
int MakeRspPack(void *ReqPack, void **RspPack); //形成CMPP應答包,返回值為狀態碼
int DnSentQCheck(DB_MySQL *, int); //下端已發送隊列檢查模塊????????
int GetSequence(); //互斥地獲得當前流水號,并加1
int PutActiveTest(); //往發送隊列中放ActiveTest包,不負責接收應答
int PutDeliver(void * , char *, int ); //往發送隊列中放Deliver包
int LoadQueue(); //下節點數據裝載恢復模塊????????????????
int NodeExit(); //下節點安全退出模塊(數據保護)????????????
public:
int ToExit; //節點退出標識,0為不退出,1為正在退出
int Num; //在下節點信息結構體數組(常駐內存)中的下標
TCPsocket TcpSock; //TCP套接字對象
int State; //節點狀態:0表示連接正常,1表示正在建立連接,2表示連接已斷
int SeqId; //流水號
int NodeID; //下節點的節點編號,與CP服務代碼同
FIFO_RecvQ *RecvQ; //請求包接收緩沖隊列
FIFO_RecvQ *RspQ; //應答包接收緩沖隊列
FIFO_SendQ *SendQ; //發送緩沖隊列
CIntStructMap SentQ; //已發送隊列,等待應答/重發,滑動窗口
pthread_t SendThr;
pthread_mutex_t SentQ_Lock; //已發送隊列互斥鎖
pthread_mutex_t SeqId_Lock; //流水號互斥鎖
FileOpr *WrSystemLog; //寫系統日志文件(系統事件/連接事件/異常錯誤)的對象
int WaitTest; //已等待ActiveTest的時間
/*-----------在配置文件中獲取的參數-----------*/
char ServiceCode[12]; //CP服務代碼(接入號:638805),CGateWay::Console()中已假定其大于1000。
char ServiceID[12]; //業務代碼,如"MFXX"
char ServiceName[17]; //業務名,如"對對配"
int CPID; //業務所屬的CP編號
char NodeIp[16]; //CP的接入服務器IP,每個ServiceCode只能對應一個IP
char Username[16]; //Http連接時的用戶名
char Secret[20]; //CP的登陸密碼
int WantReport; //是否需要狀態報告
int TestTime; //發送ActiveTest請求的周期(秒)
int RecvQ_Size; //CP收、發隊列大小(緩存數據包的最大數目)
int SendQ_Size;
int SentW_Size; //CP(已發送)滑動窗口大小
char FeeType[3]; //收費類別
char FeeCode[7]; //資費代碼
int Encoding; //MO的消息編碼
int ShowLog; //CP的日志顯示標識
char Seperator[5]; //MO信息內容的分隔符
char URL[200]; //HTTP方式的Post路徑
};
#endif //_DNNODE_H_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -