/* */ #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, READ_TRAILER, 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_