14 #ifndef IDENTITYSTREAMBUF_H
15 #define IDENTITYSTREAMBUF_H
31 class EXPCL_PANDA_DOWNLOADER IdentityStreamBuf :
public std::streambuf {
34 virtual ~IdentityStreamBuf();
36 void open_read(BioStreamPtr *source, HTTPChannel *doc,
37 bool has_content_length,
size_t content_length);
40 INLINE
bool is_closed()
const;
41 INLINE ISocketStream::ReadState get_read_state()
const;
44 virtual int underflow();
47 size_t read_chars(
char *start,
size_t length);
49 PT(BioStreamPtr) _source;
50 bool _has_content_length;
51 size_t _bytes_remaining;
52 bool _wanted_nonblocking;
53 ISocketStream::ReadState _read_state;
56 friend class IIdentityStream;
61 #endif // HAVE_OPENSSL