Files
mir_server/server/SessionServer/SessionCenterClient.h

83 lines
2.2 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef SESSION_CENTER_CLIENT_H_
#define SESSION_CENTER_CLIENT_H_
/*
DBCenter的Client封装类
*/
class CSessionCenterClient : public CCustomJXClientSocket,
public CSessionDataHandle
{
public:
typedef CCustomJXClientSocket Inherited;
public:
CSessionCenterClient();
virtual ~CSessionCenterClient();
/*
* Comments: CDataPacket类
* Param CDataPacket * pPacket:
* @Return void:
* @Remark: CommonClient收到来自CommonServer的数据包之后线
线
*/
void FreeBackUserDataPacket(CDataPacket* pPacket);
virtual CDataPacket& AllocDataPacket(const jxSrvDef::INTERSRVCMD nCmd)
{
return allocProtoPacket(nCmd);
}
void FlushDataPacket(CDataPacket &packet)
{
return flushProtoPacket(packet);
}
protected:
////////////////////////////////////////////////////////////////////////////////////////////////////
// Virtual Function Of CCustomJXClientSocket
virtual LPCSTR getLocalServerName();
virtual jxSrvDef::SERVERTYPE getLocalServerType();
//TODO. 临时测试用。DBServer不需要这个而是需要自己维护DB连接的逻辑服务器ID的列表
virtual int getLocalServerIndex();
virtual VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
virtual VOID DispatchInternalMessage(UINT uMsg, UINT64 uParam1, UINT64 uParam2, UINT64 uParam3, UINT64 uParam4);
/*
* Comments: DBCenter转发的逻辑请求
* Param CDataPacketReader & inPacket:
* @Return void:
* @Remark:
*/
void HandleLogicRequest(CDataPacketReader &inPacket);
/*
* Comments:
* @Return CDataPacket*:
* @Remark: 线线
*/
CDataPacket* AllocSendPacket();
private:
static const int DBC_INTERNAL_UPDATECLIENTLIST = 101; // 更新连接的逻辑客户端列表内部消息
private:
CSQLConenction *m_pSQLConn;
CQueueList<CDataPacket*> m_vFreeList;
CCSLock m_vFreeListLock;
};
#endif