📄 nwiocompletionport.h
字号:
#pragma once
#include "NWWorkerThread.h"
#include "IMessageProcess.h"
class CIOCompletionPort
{
public:
explicit CIOCompletionPort( size_t maxConcurrency = 0);
virtual ~CIOCompletionPort(void);
//绑定驱动
int BindDevice( HANDLE hDevice, ULONG_PTR completionKey );
void PostStatus( ULONG_PTR completionKey,
DWORD dwNumBytes = 0,
OVERLAPPED *pOverlapped = 0 );
DWORD GetStatus( ULONG_PTR *pCompletionKey,
PDWORD pdwNumBytes,
OVERLAPPED **ppOverlapped );
DWORD GetStatus( ULONG_PTR *pCompletionKey,
PDWORD pdwNumBytes,
OVERLAPPED **ppOverlapped,
DWORD dwMilliseconds );
//启动工作线程
int StartWorkerThreads();
int StopWorkerThreads();
int InitWorkerThreads(int nThreadNumber,IMessageProcess * pcMessageProccess,CSocketServer * pcSockServer);
int UninitWorkerThreads();
static CIOCompletionPort * GetInstance()
{
return & m_Instance ;
}
protected:
static CIOCompletionPort m_Instance ;
private:
HANDLE m_iocp;
MyWorkerThreadList m_lsWorkerThreadList ;
/*
* No copies do not implement
*/
CIOCompletionPort( const CIOCompletionPort &rhs );
CIOCompletionPort &operator=( const CIOCompletionPort &rhs );
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -