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

📄 buffer.h

📁 缓冲 缓冲 缓冲 缓冲 缓冲 缓冲
💻 H
字号:
// Buffer.h: interface for the Buffer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BUFFER_H__45260C30_43EF_41D8_8524_15DC368D439C__INCLUDED_)
#define AFX_BUFFER_H__45260C30_43EF_41D8_8524_15DC368D439C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifdef WIN32
#include <Process.h>
#include <afxmt.h>
#else
#include <pthread.h>
#endif

#define MAXBUFSIZE 50*1024 //50K
#define PROCEED_IO 0
#define STOP_ON_IO_END 1
#define STOP_ON_IO_ERROR 2

class Buffer  
{
public:
	Buffer();
	virtual ~Buffer();
	char *getBuf();
	int getSize();
	void setSize(int s);
	int getTag();
	void setTag(int stop);
	int lockBuf();
	int unlockBuf();
	int capacity();
	int getAvailableSpace();
protected:
	char buf[MAXBUFSIZE];
	int size; 
	//synchronization
#ifdef WIN32
	CCriticalSection mutex;
#else
	pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
	int stopTag; //flag to indicate I/O operation stops or fails on this buffer
};

#endif // !defined(AFX_BUFFER_H__45260C30_43EF_41D8_8524_15DC368D439C__INCLUDED_)

⌨️ 快捷键说明

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