⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nwiocompletionport.h

📁 这是我做的一个iocp的服务器端的测试代码
💻 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 + -