📄 cmworkthread.h
字号:
#ifndef __WORKERTHREAD_H
#define __WORKERTHREAD_H
#include <WinSock2.h>
#include <mswsock.h>
#include <MatrixCore/Network/CMIocpAccept.h>
#include <MatrixCore/Network/CMPackQueue.h>
#include <MatrixCore/System/CMThread.h>
//class CMThread;
namespace MatrixCore
{
namespace Network
{
#define DEF_WORKREADERR_PROGRAM_EXIT_ERR -301 // 橇肺弊伐 辆丰矫 皋葛府 秦力 俊矾.
#define DEF_WORKREADERR_MEMORYFULL_ERR -302 // 荤侩磊 钮 皋葛府啊 钱 惑怕捞促
#define DEF_WORKREADERR_DECODE_ERR -401 // 庆歹颇老 鞠龋拳 俊矾. 秦欧 惑炔.
#define DEF_WORKREADERR_REPLAY_ERR -402 // 府敲饭捞 傍拜 牢淀.. 秦欧 惑炔.
#define DEF_WORKREADERR_RECV_ERR -403 // PostRecv() 府矫宏甫 吧瘤 给沁促.
#define DEF_WORKREAD_OK 100 // 茄菩哦阑 佬绢 甸看促 单捞鸥绰 酒流 巢酒 乐绰惑怕.
#define DEF_WORKREAD_COMPLETE_OK 101 // 歹捞惑 单捞鸥啊 绝促.
#define DEF_WORKREAD_ONREAD_OK 102 // 单捞鸥甫 歹 佬绢 甸咯具 茄促.
class CMWorkerThread : public CMThread
{
friend class CMIocpMudule;
public:
virtual void run() ;
public:
CMWorkerThread(LPTHREAD_START_ROUTINE StartRutine = NULL);
virtual ~CMWorkerThread();
BOOL DoIo(CMOVERLAPPED &OV , CMPackQueue *pQueue = NULL,BOOL bQueueOption = TRUE);
void DoClose( CMOVERLAPPED &OV, bool force = FALSE , bool listenAgain = TRUE );
void SocketClose(SOCKET s);
BOOL PostRecv( CMOVERLAPPED &OV );
BOOL DoCommand();
int _OnRead(CMOVERLAPPED &OV, CMPackQueue *pQueue); // 府矫宏 茄 单捞鸥甫 磊福绊 付冕促.
int _OnRead(CMOVERLAPPED &OV, char **pData,int *iSize,int *iProtocolID,int *MsgType); //
static bool m_stThreadLoop;
private:
CMPacket *m_pQueue;
int m_Count;
int m_iTotalRecvSize;
int m_iReadSize; // 府矫宏等 单捞鸥吝 佬篮 荤捞令.
};
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -