/* */ #ifndef _D_RANGE_H_ #define _D_RANGE_H_ #include "common.h" #include "SharedHandle.h" #include namespace aria2 { class Range { private: off_t startByte; off_t endByte; uint64_t entityLength; public: Range():startByte(0), endByte(0), entityLength(0) {} Range(off_t startByte, off_t endByte, uint64_t entityLength): startByte(startByte), endByte(endByte), entityLength(entityLength) {} bool operator==(const Range& range) const { return startByte == range.startByte && endByte == range.endByte && entityLength == range.entityLength; } bool operator!=(const Range& range) const { return !(*this == range); } off_t getStartByte() const { return startByte; } off_t getEndByte() const { return endByte; } uint64_t getEntityLength() const { return entityLength; } uint64_t getContentLength() const { if(endByte >= startByte) { return endByte-startByte+1; } else { return 0; } } }; typedef SharedHandle RangeHandle; } // namespace aria2 #endif // _D_RANGE_H_