NetBurner 3.5.0
PDF Version
web_buffers.h
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
5
#ifndef _WEB_BUFFERS_H
6
#define _WEB_BUFFERS_H
7
8
class
buffer_object
9
{
10
public
:
11
// A write of ZERO bytes indicates end of data stream
12
virtual
int
WriteData(
const
unsigned
char
*pCopyFrom,
int
num_bytes) = 0;
13
virtual
int
ReadFrom(
int
fd) = 0;
14
virtual
void
ProcessHeader(
const
char
* hdr) {};
15
};
16
17
class
SimpleBufferObject :
public
buffer_object
18
{
19
unsigned
char
*cp_to;
20
int
space_left;
21
int
used;
22
public
:
23
24
virtual
int
WriteData(
const
unsigned
char
*pCopyFrom,
int
num_bytes);
25
virtual
int
ReadFrom(
int
fd);
26
27
SimpleBufferObject(
unsigned
char
*p,
int
len)
28
{
29
cp_to = p;
30
space_left = len;
31
used = 0;
32
};
33
int
AmountUsed() {
return
used; };
34
};
35
36
#endif