15 #ifndef IDENTITYSTREAMBUF_H
16 #define IDENTITYSTREAMBUF_H
18 #include "pandabase.h"
23 #include "bioStreamPtr.h"
24 #include "pointerTo.h"
25 #include "socketStream.h"
34 class EXPCL_PANDAEXPRESS IdentityStreamBuf :
public streambuf {
37 virtual ~IdentityStreamBuf();
39 void open_read(BioStreamPtr *source, HTTPChannel *doc,
40 bool has_content_length,
size_t content_length);
43 INLINE
bool is_closed()
const;
44 INLINE ISocketStream::ReadState get_read_state()
const;
47 virtual int underflow();
50 size_t read_chars(
char *start,
size_t length);
52 PT(BioStreamPtr) _source;
53 bool _has_content_length;
54 size_t _bytes_remaining;
55 bool _wanted_nonblocking;
56 ISocketStream::ReadState _read_state;
59 friend class IIdentityStream;
62 #include "identityStreamBuf.I"
64 #endif // HAVE_OPENSSL