/* */ #ifndef _D_CHUNKED_DECODER_H_ #define _D_CHUNKED_DECODER_H_ #include "Decoder.h" namespace aria2 { class ChunkedDecoder : public Decoder { private: enum STATE { READ_SIZE, READ_DATA, STREAM_END }; std::string _buf; uint64_t _chunkSize; STATE _state; static const std::string NAME; public: ChunkedDecoder(); virtual ~ChunkedDecoder(); virtual void init(); virtual std::string decode(const unsigned char* inbuf, size_t inlen); virtual bool finished(); virtual void release(); virtual const std::string& getName() const; }; } // namespace aria2 #endif // _D_DECODER_H_