正在显示
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 | + | ... | ... |
请
注册
或
登录
后发表评论