/* */ #ifndef D_CHUNKED_DECODING_STREAM_FILTER_H #define D_CHUNKED_DECODING_STREAM_FILTER_H #include "StreamFilter.h" namespace aria2 { class ChunkedDecodingStreamFilter : public StreamFilter { private: int state_; int64_t chunkSize_; int64_t chunkRemaining_; size_t bytesProcessed_; public: ChunkedDecodingStreamFilter (const SharedHandle& delegate = SharedHandle()); virtual ~ChunkedDecodingStreamFilter(); virtual void init(); virtual ssize_t transform (const SharedHandle& out, const SharedHandle& segment, const unsigned char* inbuf, size_t inlen); virtual bool finished(); virtual void release(); virtual const std::string& getName() const; virtual size_t getBytesProcessed() const { return bytesProcessed_; } static const std::string NAME; }; } // namespace aria2 #endif // D_CHUNKED_DECODING_STREAM_FILTER_H