26 Star 45 Fork 24

eclipser / socket

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
PacketFactoryManager.h 1.23 KB
一键复制 编辑 原始数据 按行查看 历史
Administrator 提交于 2014-03-08 16:18 . 封装PacketFactoryManager
/*
* File: PacketFactoryManager.h
* Author: Vicky.H
* Email: eclipser@163.com
*
* Created on 2014年2月27日, 下午8:47
*/
#ifndef CN_VICKY__PACKETFACTORYMANAGER_H
#define CN_VICKY__PACKETFACTORYMANAGER_H
#include "Packet.h"
#include "PacketFactory.h"
#include "GameUtils.h"
class PacketFactoryManager {
public:
PacketFactoryManager();
~PacketFactoryManager();
private:
void AddFactory(PacketFactory* pFactory);
public:
//外部调用通用接口
//初始化接口
bool Init();
//根据消息类型从内存里分配消息实体数据(允许多线程同时调用)
Packet* CreatePacket(PacketID_t packetID);
//根据消息类型取得对应消息的最大尺寸(允许多线程同时调用)
unsigned int GetPacketMaxSize(PacketID_t packetID);
//删除消息实体(允许多线程同时调用)
void RemovePacket(Packet* pPacket);
void Lock() {
m_Lock.Lock();
};
void Unlock() {
m_Lock.Unlock();
};
private:
PacketFactory ** m_Factories;
unsigned short m_Size;
MyLock m_Lock;
public:
unsigned int* m_pPacketAllocCount;
};
extern PacketFactoryManager* g_pPacketFactoryManager;
#endif /* CN_VICKY__PACKETFACTORYMANAGER_H */
C++
1
https://gitee.com/eclipser/socket.git
git@gitee.com:eclipser/socket.git
eclipser
socket
socket
master

搜索帮助