spmsgblock.hpp

来自「spserver 是一个实现了半同步/半异步(Half-Sync/Half-As」· HPP 代码 · 共 82 行

HPP
82
字号
/* * Copyright 2007 Stephen Liu * For license terms, see the file COPYING along with this library. */#ifndef __spmsgblock_hpp__#define __spmsgblock_hpp__#include <stdio.h>class SP_Buffer;class SP_ArrayList;class SP_MsgBlock {public:	virtual ~SP_MsgBlock();	virtual const void * getData() const = 0;	virtual size_t getSize() const = 0;};class SP_MsgBlockList {public:	SP_MsgBlockList();	~SP_MsgBlockList();	size_t getTotalSize() const;	int getCount() const;	int append( SP_MsgBlock * msgBlock );	const SP_MsgBlock * getItem( int index ) const;	SP_MsgBlock * takeItem( int index );private:	SP_MsgBlockList( SP_MsgBlockList & );	SP_MsgBlockList & operator=( SP_MsgBlockList & );	SP_ArrayList * mList;};class SP_BufferMsgBlock : public SP_MsgBlock {public:	SP_BufferMsgBlock();	SP_BufferMsgBlock( SP_Buffer * buffer, int toBeOwner );	virtual ~SP_BufferMsgBlock();	virtual const void * getData() const;	virtual size_t getSize() const;	int append( const void * buffer, size_t len = 0 );private:	SP_BufferMsgBlock( SP_BufferMsgBlock & );	SP_BufferMsgBlock & operator=( SP_BufferMsgBlock & );	SP_Buffer * mBuffer;	int mToBeOwner;};class SP_SimpleMsgBlock : public SP_MsgBlock {public:	SP_SimpleMsgBlock();	SP_SimpleMsgBlock( void * data, size_t size, int toBeOwner );	virtual ~SP_SimpleMsgBlock();	virtual const void * getData() const;	virtual size_t getSize() const;	void setData( void * data, size_t size, int toBeOwner );private:	SP_SimpleMsgBlock( SP_SimpleMsgBlock & );	SP_SimpleMsgBlock & operator=( SP_SimpleMsgBlock & );	void * mData;	size_t mSize;	int mToBeOwner;};#endif

⌨️ 快捷键说明

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