/* */ #include "FallocFileAllocationIterator.h" #include "DlAbortEx.h" #include "util.h" #include "LogFactory.h" namespace aria2 { FallocFileAllocationIterator::FallocFileAllocationIterator(BinaryStream* stream, int64_t offset, int64_t totalLength) : stream_(stream), offset_(offset), totalLength_(totalLength) { } void FallocFileAllocationIterator::allocateChunk() { if (offset_ < totalLength_) { stream_->allocate(offset_, totalLength_ - offset_, false); offset_ = totalLength_; } else { stream_->truncate(totalLength_); offset_ = totalLength_; } } bool FallocFileAllocationIterator::finished() { return offset_ == totalLength_; } int64_t FallocFileAllocationIterator::getCurrentLength() { return offset_; } int64_t FallocFileAllocationIterator::getTotalLength() { return totalLength_; } } // namespace aria2