From efbfe4c006cfb6e0bf3ee4ed57d0657c0cd85c19 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 6 Sep 2010 14:29:36 +0000 Subject: 2010-09-06 Tatsuhiro Tsujikawa Data from remote server in HTTP/FTP download are now written to the disk(or memory) through StreamFilter. Decoding chunked and gziped streams are done cascading StreamFilter. Removed inefficient 1byte read code. * src/ChunkedDecodingStreamFilter.cc * src/ChunkedDecodingStreamFilter.h * src/DownloadCommand.cc * src/DownloadCommand.h * src/GZipDecodingStreamFilter.cc * src/GZipDecodingStreamFilter.h * src/HttpConnection.cc * src/HttpDownloadCommand.cc * src/HttpResponse.cc * src/HttpResponse.h * src/HttpResponseCommand.cc * src/HttpResponseCommand.h * src/HttpSkipResponseCommand.cc * src/HttpSkipResponseCommand.h * src/Makefile.am * src/NullSinkStreamFilter.cc * src/NullSinkStreamFilter.h * src/RequestGroup.cc * src/SinkStreamFilter.cc * src/SinkStreamFilter.h * src/StreamFilter.cc * src/StreamFilter.h * test/ChunkedDecodingStreamFilterTest.cc * test/GZipDecodingStreamFilterTest.cc * test/HttpResponseTest.cc * test/Makefile.am * test/MockSegment.h --- src/DownloadCommand.h | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src/DownloadCommand.h') diff --git a/src/DownloadCommand.h b/src/DownloadCommand.h index 128b6bf7..13342c70 100644 --- a/src/DownloadCommand.h +++ b/src/DownloadCommand.h @@ -39,8 +39,8 @@ namespace aria2 { -class Decoder; class PeerStat; +class StreamFilter; #ifdef ENABLE_MESSAGE_DIGEST class MessageDigestContext; #endif // ENABLE_MESSAGE_DIGEST @@ -67,9 +67,9 @@ private: void checkLowestDownloadSpeed() const; - SharedHandle transferEncodingDecoder_; + SharedHandle streamFilter_; - SharedHandle contentEncodingDecoder_; + bool sinkFilterOnly_; protected: virtual bool executeInternal(); @@ -86,19 +86,12 @@ public: const SharedHandle& s); virtual ~DownloadCommand(); - const SharedHandle& getTransferEncodingDecoder() const + const SharedHandle& getStreamFilter() const { - return transferEncodingDecoder_; + return streamFilter_; } - void setTransferEncodingDecoder(const SharedHandle& decoder); - - const SharedHandle& getContentEncodingDecoder() const - { - return contentEncodingDecoder_; - } - - void setContentEncodingDecoder(const SharedHandle& decoder); + void installStreamFilter(const SharedHandle& streamFilter); void setStartupIdleTime(time_t startupIdleTime) { -- cgit