/* */ #ifndef D_GROW_SEGMENT_H #define D_GROW_SEGMENT_H #include "Segment.h" namespace aria2 { class GrowSegment:public Segment { private: std::shared_ptr piece_; int32_t writtenLength_; public: GrowSegment(const std::shared_ptr& piece); virtual ~GrowSegment(); virtual bool complete() const CXX11_OVERRIDE { return false; } virtual size_t getIndex() const CXX11_OVERRIDE { return 0; } virtual int64_t getPosition() const CXX11_OVERRIDE { return 0; } virtual int64_t getPositionToWrite() const CXX11_OVERRIDE { return writtenLength_; } virtual int32_t getLength() const CXX11_OVERRIDE { return 0; } virtual int32_t getSegmentLength() const CXX11_OVERRIDE { return 0; } virtual int32_t getWrittenLength() const CXX11_OVERRIDE { return writtenLength_; } virtual void updateWrittenLength(int32_t bytes) CXX11_OVERRIDE; virtual bool updateHash (int32_t begin, const unsigned char* data, size_t dataLength) CXX11_OVERRIDE { return false; } virtual bool isHashCalculated() const CXX11_OVERRIDE { return false; } virtual std::string getDigest() CXX11_OVERRIDE; virtual void clear(WrDiskCache* diskCache) CXX11_OVERRIDE; virtual std::shared_ptr getPiece() const CXX11_OVERRIDE; }; } // namespace aria2 #endif // D_GROW_SEGMENT_H