diff --git a/src/UnknownLengthPieceStorage.cc b/src/UnknownLengthPieceStorage.cc index b7e1ce84..4ea14115 100644 --- a/src/UnknownLengthPieceStorage.cc +++ b/src/UnknownLengthPieceStorage.cc @@ -210,6 +210,15 @@ bool UnknownLengthPieceStorage::isPieceUsed(size_t index) } } +int64_t UnknownLengthPieceStorage::getCompletedLength() +{ + // TODO we have to return actual completed length here? + if (piece_) { + return piece_->getLength(); + } + return totalLength_; +} + std::shared_ptr UnknownLengthPieceStorage::getDiskAdaptor() { return diskAdaptor_; diff --git a/src/UnknownLengthPieceStorage.h b/src/UnknownLengthPieceStorage.h index 9c3845dd..2b05918c 100644 --- a/src/UnknownLengthPieceStorage.h +++ b/src/UnknownLengthPieceStorage.h @@ -162,11 +162,7 @@ public: return totalLength_; } - virtual int64_t getCompletedLength() CXX11_OVERRIDE - { - // TODO we have to return actual completed length here? - return totalLength_; - } + virtual int64_t getCompletedLength() CXX11_OVERRIDE; virtual int64_t getFilteredCompletedLength() CXX11_OVERRIDE {