📄 serveranyl.h.svn-base
字号:
#define MAX_SESSIONS_PER_SERVER 1000
struct Instance;
typedef void(WServer::*WServerHandler)(WorldPacket &);
class WServer
{
static WServerHandler PHandlers[IMSG_NUM_TYPES];
uint32 m_id;
WSSocket * m_socket;
FastQueue<WorldPacket*, Mutex> m_recvQueue;
list<Instance*> m_instances;
public:
static void InitHandlers();
WServer(uint32 id, WSSocket * s);
~WServer();
VENICE_INLINE size_t GetInstanceCount() { return m_instances.size(); }
VENICE_INLINE void SendPacket(WorldPacket * data) { if(m_socket) m_socket->SendPacket(data); }
VENICE_INLINE void SendWoWPacket(Session * from, WorldPacket * data) { if(m_socket) m_socket->SendWoWPacket(from, data); }
VENICE_INLINE void AddInstance(Instance * pInstance) { m_instances.push_back(pInstance); }
VENICE_INLINE void QueuePacket(WorldPacket * data) { m_recvQueue.Push(data); }
VENICE_INLINE uint32 GetID() { return m_id; }
void Update();
protected:
/* packet handlers */
void HandleRegisterWorker(WorldPacket & pck);
void HandleWoWPacket(WorldPacket & pck);
void HandlePlayerLoginResult(WorldPacket & pck);
void HandlePlayerLogout(WorldPacket & pck);
void HandleTeleportRequest(WorldPacket & pck);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -