/* */ #ifndef D_NULL_SINK_STREAM_FILTER_H #define D_NULL_SINK_STREAM_FILTER_H #include "StreamFilter.h" namespace aria2 { class NullSinkStreamFilter : public StreamFilter { private: size_t bytesProcessed_; public: NullSinkStreamFilter() : bytesProcessed_(0) {} virtual void init() CXX11_OVERRIDE {} virtual ssize_t transform(const std::shared_ptr& out, const std::shared_ptr& segment, const unsigned char* inbuf, size_t inlen) CXX11_OVERRIDE { bytesProcessed_ = inlen; return bytesProcessed_; } virtual bool finished() CXX11_OVERRIDE { return true; } virtual void release() CXX11_OVERRIDE {} virtual const std::string& getName() const CXX11_OVERRIDE { return NAME; } static const std::string NAME; virtual size_t getBytesProcessed() const CXX11_OVERRIDE { return bytesProcessed_; } virtual bool installDelegate(const std::unique_ptr filter) CXX11_OVERRIDE { return false; } }; } // namespace aria2 #endif // D_NULL_SINK_STREAM_FILTER_H