00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __BUFFER_H
00014 #define __BUFFER_H
00015
00022
00023
00027 #include <string>
00028
00029 class buffer {
00030 private:
00031
00032 char* data_;
00033 unsigned long size_;
00034 unsigned long read_pos_;
00035 unsigned long last_pos_;
00036 unsigned long write_pos_;
00037
00039 std::string debug_(int pos, int len);
00040
00041 public:
00042 buffer(void);
00043 ~buffer(void);
00044
00046
00049 void write(const std::string data);
00051 int fwrite(int fd);
00052
00054 char* writing(int bytes);
00055
00057 void wrote(int bytes);
00058
00060 char *send(long *length);
00061
00063 unsigned long bytes(void);
00065 char* ptr(void);
00067 void done(unsigned long bytes);
00068 };
00069
00070 #endif // __BUFFER_H