⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intpointmap.h

📁 SMS gateway. SMS protocol for CHINA mobile, unicom, lingtong. Using mysql to exchange message.
💻 H
字号:
/**********************************************************************  FileName            : IntPointMap.h  Description         : 整数-指针哈希映射类头文件  Version             : 1.0  Date                : 2003年7月1日  Author              : 刘荣辉  Other               : 支持多线程的Map类,作为已发送队列(哈希表)						还作为服务代码--下节点对象指针的映射表						套接字--下节点对象指针映射表,以便快速MO路由***********************************************************************/#ifndef _INTPOINTMAP_H_#define _INTPOINTMAP_H_#include <map.h>	//STL的哈希映射类#include <semaphore.h>#include <stdio.h>typedef map<unsigned int , char *> IntPointMap;typedef IntPointMap::iterator Map_Pos;class CIntPointMap{  public:  	CIntPointMap();  	~CIntPointMap();  	  	void Map_Init(int size);	//初始化窗口大小  	  	bool Add(unsigned int , char *);	//在队列中插入节点	int  GetAllNode(char *Node[], int MaxNum);	//获取最多MaxNum个节点  	char * Find(int Num);				//查出节点	int  Delete(int Num);				//删除节点  	bool FindDel(unsigned int , char **);	//查出节点,并删除  	  	int  GetSize();		//获取队列当前大小  	int  GetMaxSize();	//获取队列最大容量  	bool IsFull();		//判断是否窗口已满  		int  PosInit(Map_Pos *);		//Map_Pos的位置初始化	int  GetNext(char **, Map_Pos *);	//获取某位置的节点并指向下一个(首尾循环)  private:  	IntPointMap SentQ;	//哈希表  	int   MaxSize;		//窗口大小(表大小)  	sem_t WriteSem;		//窗口信号量,不允许超过窗口大小  	sem_t AddLock, DelLock;	//增,删锁,防止同时多个线程执行增或者同时执行删操作	 };#endif //_INTPOINTMAP_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -