/* */ #ifndef _D_GROW_SEGMENT_H_ #define _D_GROW_SEGMENT_H_ #include "Segment.h" namespace aria2 { class GrowSegment:public Segment { private: SharedHandle _piece; int32_t _writtenLength; public: GrowSegment(const SharedHandle& piece); virtual ~GrowSegment(); virtual bool complete() const { return false; } virtual int32_t getIndex() const { return 0; } virtual int64_t getPosition() const { return 0; } virtual int64_t getPositionToWrite() const { return _writtenLength; } virtual int32_t getLength() const { return 0; } virtual int32_t getSegmentLength() const { return 0; } virtual int32_t getWrittenLength() const { return _writtenLength; } virtual int32_t getOverflowLength() const { return 0; } virtual void updateWrittenLength(int32_t bytes); virtual void clear(); virtual SharedHandle getPiece() const; }; typedef SharedHandle GrowSegmentHandle; } // namespace aria2 #endif // _D_GROW_SEGMENT_H_