正在显示
1 个修改的文件
包含
54 行增加
和
0 行删除
src/server/spserver/spbuffer.hpp
0 → 100644
1 | +/* | ||
2 | + * Copyright 2007 Stephen Liu | ||
3 | + * For license terms, see the file COPYING along with this library. | ||
4 | + */ | ||
5 | + | ||
6 | + | ||
7 | +#ifndef __spbuffer_hpp__ | ||
8 | +#define __spbuffer_hpp__ | ||
9 | + | ||
10 | +#include <stdlib.h> | ||
11 | +#include <event2/buffer.h> | ||
12 | + | ||
13 | +#ifdef WIN32 | ||
14 | +typedef struct spwin32buffer sp_evbuffer_t; | ||
15 | +#else | ||
16 | +typedef struct evbuffer sp_evbuffer_t; | ||
17 | +#endif | ||
18 | + | ||
19 | +struct evbuffer; | ||
20 | + | ||
21 | +class SP_Buffer { | ||
22 | +public: | ||
23 | + SP_Buffer(); | ||
24 | + ~SP_Buffer(); | ||
25 | + | ||
26 | + int append( const void * buffer, int len = 0 ); | ||
27 | + int append( const SP_Buffer * buffer ); | ||
28 | + int printf( const char *fmt, ... ); | ||
29 | + | ||
30 | + void erase( int len ); | ||
31 | + void reset(); | ||
32 | + int truncate( int len ); | ||
33 | + void reserve( int len ); | ||
34 | + int getCapacity(); | ||
35 | + | ||
36 | + const void * getBuffer() const; | ||
37 | + const void * getRawBuffer() const; | ||
38 | + size_t getSize() const; | ||
39 | + int take( char * buffer, int len ); | ||
40 | + | ||
41 | + char * getLine(); | ||
42 | + const void * find( const void * key, size_t len ); | ||
43 | + | ||
44 | + SP_Buffer * take(); | ||
45 | + | ||
46 | +private: | ||
47 | + sp_evbuffer_t * mBuffer; | ||
48 | + | ||
49 | + friend class SP_IOChannel; | ||
50 | + friend class SP_IocpEventCallback; | ||
51 | +}; | ||
52 | + | ||
53 | +#endif | ||
54 | + |
请
注册
或
登录
后发表评论