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

📄 basictaskscheduler.h

📁 rtsp协议的主要实现代码.对开发流媒体
💻 H
字号:
// BasicTaskScheduler.h: interface for the BasicTaskScheduler class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BASICTASKSCHEDULER_H__872282DE_14EC_4BF7_8316_03A01D1B5450__INCLUDED_)
#define AFX_BASICTASKSCHEDULER_H__872282DE_14EC_4BF7_8316_03A01D1B5450__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <list>
using namespace std;

#include "winsock.h"
#include "Type.h"

typedef void BackgroundHandlerProc(void* clientData, int mask);
#define SOCKET_READABLE    (1<<1)
#define SOCKET_WRITABLE    (1<<2)
#define SOCKET_EXCEPTION   (1<<3)

typedef struct 
{
	int socketNum;
	BackgroundHandlerProc* handlerProc;
	void* clientData;
}HanderSet;

class BasicTaskScheduler  
{
public:
	BasicTaskScheduler();
	virtual ~BasicTaskScheduler();
	//socket mutiply task scheduler
	void doEventLoop();
	void SingleStep();

	// For handling socket reads in the background:
	void turnOnBackgroundReadHandling(int socketNum,
		BackgroundHandlerProc* handlerProc,
		void* clientData);
	void turnOffBackgroundReadHandling(int socketNum);		
private:
	// To implement background reads:
	fd_set fReadSet;
	list<HanderSet *> fReadHandlers;
	int fLastHandledSocketNum;
};

#endif // !defined(AFX_BASICTASKSCHEDULER_H__872282DE_14EC_4BF7_8316_03A01D1B5450__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -