summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCommand.cc2
-rw-r--r--src/AbstractCommand.h2
-rw-r--r--src/BitfieldMan.cc30
-rw-r--r--src/BitfieldMan.h16
-rw-r--r--src/ChunkChecksum.cc2
-rw-r--r--src/ChunkChecksum.h8
-rw-r--r--src/DefaultBtProgressInfoFile.cc4
-rw-r--r--src/DefaultPieceStorage.cc2
-rw-r--r--src/DefaultPieceStorage.h2
-rw-r--r--src/DownloadCommand.cc6
-rw-r--r--src/DownloadContext.cc2
-rw-r--r--src/DownloadContext.h8
-rw-r--r--src/DownloadResult.h2
-rw-r--r--src/GrowSegment.cc2
-rw-r--r--src/GrowSegment.h16
-rw-r--r--src/Metalink2RequestGroup.cc2
-rw-r--r--src/Peer.cc8
-rw-r--r--src/Peer.h8
-rw-r--r--src/PeerSessionResource.cc12
-rw-r--r--src/PeerSessionResource.h8
-rw-r--r--src/Piece.cc30
-rw-r--r--src/Piece.h24
-rw-r--r--src/PieceStorage.h2
-rw-r--r--src/PiecedSegment.cc17
-rw-r--r--src/PiecedSegment.h22
-rw-r--r--src/RpcMethodImpl.cc8
-rw-r--r--src/Segment.h14
-rw-r--r--src/SegmentMan.cc24
-rw-r--r--src/SegmentMan.h2
-rw-r--r--src/UnknownLengthPieceStorage.cc2
-rw-r--r--src/UnknownLengthPieceStorage.h2
31 files changed, 151 insertions, 138 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index 53b73c3d..118846f1 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -882,7 +882,7 @@ void AbstractCommand::createSocket()
socket_.reset(new SocketCore());
}
-size_t AbstractCommand::calculateMinSplitSize() const
+int32_t AbstractCommand::calculateMinSplitSize() const
{
if(req_ && req_->isPipeliningEnabled()) {
return getDownloadContext()->getPieceLength();
diff --git a/src/AbstractCommand.h b/src/AbstractCommand.h
index ed5165f1..8ba57fad 100644
--- a/src/AbstractCommand.h
+++ b/src/AbstractCommand.h
@@ -87,7 +87,7 @@ private:
bool incNumConnection_;
Timer serverStatTimer_;
- size_t calculateMinSplitSize() const;
+ int32_t calculateMinSplitSize() const;
void useFasterRequest(const SharedHandle<Request>& fasterRequest);
#ifdef ENABLE_ASYNC_DNS
void setNameResolverCheck(const SharedHandle<AsyncNameResolver>& resolver);
diff --git a/src/BitfieldMan.cc b/src/BitfieldMan.cc
index 19a6d0c9..7fde929b 100644
--- a/src/BitfieldMan.cc
+++ b/src/BitfieldMan.cc
@@ -44,7 +44,7 @@ using namespace aria2::expr;
namespace aria2 {
-BitfieldMan::BitfieldMan(size_t blockLength, off_t totalLength)
+BitfieldMan::BitfieldMan(int32_t blockLength, off_t totalLength)
:blockLength_(blockLength),
totalLength_(totalLength),
bitfieldLength_(0),
@@ -130,12 +130,12 @@ BitfieldMan::~BitfieldMan() {
delete [] filterBitfield_;
}
-size_t BitfieldMan::getLastBlockLength() const
+int32_t BitfieldMan::getLastBlockLength() const
{
return totalLength_-blockLength_*(blocks_-1);
}
-size_t BitfieldMan::getBlockLength(size_t index) const
+int32_t BitfieldMan::getBlockLength(size_t index) const
{
if(index == blocks_-1) {
return getLastBlockLength();
@@ -230,10 +230,10 @@ namespace {
template<typename Array>
bool getSparseMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const Array& bitfield,
const unsigned char* useBitfield,
- size_t blockLength_,
+ int32_t blockLength,
size_t blocks)
{
BitfieldMan::Range maxRange;
@@ -275,8 +275,8 @@ bool getSparseMissingUnusedIndex
} else {
if((!bitfield::test(useBitfield, blocks, maxRange.startIndex-1) &&
bitfield::test(bitfield, blocks, maxRange.startIndex-1)) ||
- (static_cast<uint64_t>(maxRange.endIndex-maxRange.startIndex)*
- blockLength_ >= minSplitSize)) {
+ (static_cast<int64_t>(maxRange.endIndex-maxRange.startIndex)*
+ blockLength >= minSplitSize)) {
index = maxRange.startIndex;
return true;
} else {
@@ -291,7 +291,7 @@ bool getSparseMissingUnusedIndex
bool BitfieldMan::getSparseMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength) const
{
@@ -313,10 +313,10 @@ namespace {
template<typename Array>
bool getGeomMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const Array& bitfield,
const unsigned char* useBitfield,
- size_t blockLength,
+ int32_t blockLength,
size_t blocks,
double base,
size_t offsetIndex)
@@ -350,7 +350,7 @@ bool getGeomMissingUnusedIndex
bool BitfieldMan::getGeomMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength,
double base,
@@ -376,10 +376,10 @@ namespace {
template<typename Array>
bool getInorderMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const Array& bitfield,
const unsigned char* useBitfield,
- size_t blockLength_,
+ int32_t blockLength,
size_t blocks)
{
// We always return first piece if it is available.
@@ -405,7 +405,7 @@ bool getInorderMissingUnusedIndex
bitfield::test(useBitfield, blocks, j)) {
break;
}
- if((j-i+1)*blockLength_ >= minSplitSize) {
+ if(static_cast<int64_t>(j-i+1)*blockLength >= minSplitSize) {
index = j;
return true;
}
@@ -421,7 +421,7 @@ bool getInorderMissingUnusedIndex
bool BitfieldMan::getInorderMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength) const
{
diff --git a/src/BitfieldMan.h b/src/BitfieldMan.h
index b2ea7da4..9a2114eb 100644
--- a/src/BitfieldMan.h
+++ b/src/BitfieldMan.h
@@ -45,7 +45,7 @@ namespace aria2 {
class BitfieldMan {
private:
- size_t blockLength_;
+ int32_t blockLength_;
off_t totalLength_;
size_t bitfieldLength_;
size_t blocks_;
@@ -84,20 +84,20 @@ public:
bool operator==(const Range& range) const;
};
public:
- BitfieldMan(size_t blockLength, off_t totalLength);
+ BitfieldMan(int32_t blockLength, off_t totalLength);
BitfieldMan(const BitfieldMan& bitfieldMan);
~BitfieldMan();
BitfieldMan& operator=(const BitfieldMan& bitfieldMan);
- size_t getBlockLength() const
+ int32_t getBlockLength() const
{
return blockLength_;
}
- size_t getLastBlockLength() const;
+ int32_t getLastBlockLength() const;
- size_t getBlockLength(size_t index) const;
+ int32_t getBlockLength(size_t index) const;
off_t getTotalLength() const { return totalLength_; }
@@ -131,7 +131,7 @@ public:
// affected by filter
bool getSparseMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength) const;
@@ -151,7 +151,7 @@ public:
// affected by filter
bool getGeomMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength,
double base,
@@ -165,7 +165,7 @@ public:
// affected by filter
bool getInorderMissingUnusedIndex
(size_t& index,
- size_t minSplitSize,
+ int32_t minSplitSize,
const unsigned char* ignoreBitfield,
size_t ignoreBitfieldLength) const;
diff --git a/src/ChunkChecksum.cc b/src/ChunkChecksum.cc
index 2a561819..72b5cd0b 100644
--- a/src/ChunkChecksum.cc
+++ b/src/ChunkChecksum.cc
@@ -42,7 +42,7 @@ ChunkChecksum::ChunkChecksum():pieceLength_(0) {}
ChunkChecksum::ChunkChecksum
(const std::string& hashType,
const std::vector<std::string>& pieceHashes,
- size_t pieceLength)
+ int32_t pieceLength)
: hashType_(hashType),
pieceHashes_(pieceHashes),
pieceLength_(pieceLength)
diff --git a/src/ChunkChecksum.h b/src/ChunkChecksum.h
index 126bd82f..0baa570b 100644
--- a/src/ChunkChecksum.h
+++ b/src/ChunkChecksum.h
@@ -48,14 +48,14 @@ class ChunkChecksum {
private:
std::string hashType_;
std::vector<std::string> pieceHashes_;
- size_t pieceLength_;
+ int32_t pieceLength_;
public:
ChunkChecksum();
ChunkChecksum
(const std::string& hashType,
const std::vector<std::string>& pieceHashes,
- size_t pieceLength);
+ int32_t pieceLength);
bool validateChunk(const std::string& actualDigest,
size_t index) const;
@@ -78,12 +78,12 @@ public:
return hashType_;
}
- size_t getPieceLength() const
+ int32_t getPieceLength() const
{
return pieceLength_;
}
- void setPieceLength(size_t length)
+ void setPieceLength(int32_t length)
{
pieceLength_ = length;
}
diff --git a/src/DefaultBtProgressInfoFile.cc b/src/DefaultBtProgressInfoFile.cc
index 9fa32b1c..0698f85a 100644
--- a/src/DefaultBtProgressInfoFile.cc
+++ b/src/DefaultBtProgressInfoFile.cc
@@ -309,7 +309,7 @@ void DefaultBtProgressInfoFile::load()
array_ptr<unsigned char> savedBitfield(new unsigned char[bitfieldLength]);
READ_CHECK(fp, static_cast<unsigned char*>(savedBitfield),
bitfieldLength);
- if(pieceLength == dctx_->getPieceLength()) {
+ if(pieceLength == static_cast<uint32_t>(dctx_->getPieceLength())) {
pieceStorage_->setBitfield(savedBitfield, bitfieldLength);
uint32_t numInFlightPiece;
@@ -333,7 +333,7 @@ void DefaultBtProgressInfoFile::load()
if(version >= 1) {
length = ntohl(length);
}
- if(!(length <=dctx_->getPieceLength())) {
+ if(!(length <= static_cast<uint32_t>(dctx_->getPieceLength()))) {
throw DL_ABORT_EX(fmt("piece length out of range: %u", length));
}
SharedHandle<Piece> piece(new Piece(index, length));
diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc
index 0b32761b..867bb336 100644
--- a/src/DefaultPieceStorage.cc
+++ b/src/DefaultPieceStorage.cc
@@ -649,7 +649,7 @@ DiskAdaptorHandle DefaultPieceStorage::getDiskAdaptor() {
return diskAdaptor_;
}
-size_t DefaultPieceStorage::getPieceLength(size_t index)
+int32_t DefaultPieceStorage::getPieceLength(size_t index)
{
return bitfieldMan_->getBlockLength(index);
}
diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h
index 21b57fcb..5546fa97 100644
--- a/src/DefaultPieceStorage.h
+++ b/src/DefaultPieceStorage.h
@@ -234,7 +234,7 @@ public:
virtual SharedHandle<DiskAdaptor> getDiskAdaptor();
- virtual size_t getPieceLength(size_t index);
+ virtual int32_t getPieceLength(size_t index);
virtual void advertisePiece(cuid_t cuid, size_t index);
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc
index 2862d3d3..4ee8e89a 100644
--- a/src/DownloadCommand.cc
+++ b/src/DownloadCommand.cc
@@ -148,8 +148,10 @@ bool DownloadCommand::executeInternal() {
if(segment->getLength() > 0) {
if(static_cast<off_t>(segment->getPosition()+segment->getLength()) <=
getFileEntry()->getLastOffset()) {
- bufSize = std::min(segment->getLength()-segment->getWrittenLength(),
- getSocketRecvBuffer()->getBufferLength());
+ bufSize =
+ std::min(static_cast<size_t>(segment->getLength()
+ -segment->getWrittenLength()),
+ getSocketRecvBuffer()->getBufferLength());
} else {
bufSize =
std::min
diff --git a/src/DownloadContext.cc b/src/DownloadContext.cc
index 4a9e8e7a..a3b459c9 100644
--- a/src/DownloadContext.cc
+++ b/src/DownloadContext.cc
@@ -56,7 +56,7 @@ DownloadContext::DownloadContext():
downloadStopTime_(downloadStartTime_),
metalinkServerContacted_(false) {}
-DownloadContext::DownloadContext(size_t pieceLength,
+DownloadContext::DownloadContext(int32_t pieceLength,
off_t totalLength,
const std::string& path):
pieceLength_(pieceLength),
diff --git a/src/DownloadContext.h b/src/DownloadContext.h
index 7eee1f84..4f05431b 100644
--- a/src/DownloadContext.h
+++ b/src/DownloadContext.h
@@ -61,7 +61,7 @@ private:
std::vector<std::string> pieceHashes_;
- size_t pieceLength_;
+ int32_t pieceLength_;
std::string pieceHashType_;
@@ -92,7 +92,7 @@ public:
// Convenient constructor that creates single file download. path
// should be escaped with util::escapePath(...).
- DownloadContext(size_t pieceLength,
+ DownloadContext(int32_t pieceLength,
off_t totalLength,
const std::string& path = A2STR::NIL);
@@ -146,9 +146,9 @@ public:
fileEntries_.assign(first, last);
}
- size_t getPieceLength() const { return pieceLength_; }
+ int32_t getPieceLength() const { return pieceLength_; }
- void setPieceLength(size_t length) { pieceLength_ = length; }
+ void setPieceLength(int32_t length) { pieceLength_ = length; }
size_t getNumPieces() const;
diff --git a/src/DownloadResult.h b/src/DownloadResult.h
index 5c920510..c0efc1b4 100644
--- a/src/DownloadResult.h
+++ b/src/DownloadResult.h
@@ -89,7 +89,7 @@ struct DownloadResult
std::string infoHash;
- size_t pieceLength;
+ int32_t pieceLength;
size_t numPieces;
diff --git a/src/GrowSegment.cc b/src/GrowSegment.cc
index fcbdbb22..af9c2748 100644
--- a/src/GrowSegment.cc
+++ b/src/GrowSegment.cc
@@ -43,7 +43,7 @@ GrowSegment::GrowSegment(const SharedHandle<Piece>& piece):
GrowSegment::~GrowSegment() {}
-void GrowSegment::updateWrittenLength(size_t bytes)
+void GrowSegment::updateWrittenLength(int32_t bytes)
{
writtenLength_ += bytes;
piece_->reconfigure(writtenLength_);
diff --git a/src/GrowSegment.h b/src/GrowSegment.h
index 0e553c15..cc67ba2f 100644
--- a/src/GrowSegment.h
+++ b/src/GrowSegment.h
@@ -42,7 +42,7 @@ namespace aria2 {
class GrowSegment:public Segment {
private:
SharedHandle<Piece> piece_;
- size_t writtenLength_;
+ int32_t writtenLength_;
public:
GrowSegment(const SharedHandle<Piece>& piece);
@@ -68,27 +68,29 @@ public:
return writtenLength_;
}
- virtual size_t getLength() const
+ virtual int32_t getLength() const
{
return 0;
}
- virtual size_t getSegmentLength() const
+ virtual int32_t getSegmentLength() const
{
return 0;
}
- virtual size_t getWrittenLength() const
+ virtual int32_t getWrittenLength() const
{
return writtenLength_;
}
- virtual void updateWrittenLength(size_t bytes);
+ virtual void updateWrittenLength(int32_t bytes);
#ifdef ENABLE_MESSAGE_DIGEST
- virtual bool updateHash(uint32_t begin,
- const unsigned char* data, size_t dataLength)
+ virtual bool updateHash
+ (int32_t begin,
+ const unsigned char* data,
+ size_t dataLength)
{
return false;
}
diff --git a/src/Metalink2RequestGroup.cc b/src/Metalink2RequestGroup.cc
index 51d67551..b3105d53 100644
--- a/src/Metalink2RequestGroup.cc
+++ b/src/Metalink2RequestGroup.cc
@@ -253,7 +253,7 @@ Metalink2RequestGroup::createRequestGroup
AccumulateNonP2PUri(uris));
// If piece hash is specified in the metalink,
// make segment size equal to piece hash size.
- size_t pieceLength;
+ int32_t pieceLength;
#ifdef ENABLE_MESSAGE_DIGEST
if(!entry->chunkChecksum) {
pieceLength = option->getAsInt(PREF_PIECE_LENGTH);
diff --git a/src/Peer.cc b/src/Peer.cc
index 07d2f22a..e31ae10a 100644
--- a/src/Peer.cc
+++ b/src/Peer.cc
@@ -73,7 +73,7 @@ void Peer::usedBy(cuid_t cuid)
cuid_ = cuid;
}
-void Peer::allocateSessionResource(size_t pieceLength, off_t totalLength)
+void Peer::allocateSessionResource(int32_t pieceLength, off_t totalLength)
{
delete res_;
res_ = new PeerSessionResource(pieceLength, totalLength);
@@ -81,7 +81,7 @@ void Peer::allocateSessionResource(size_t pieceLength, off_t totalLength)
updateSeeder();
}
-void Peer::reconfigureSessionResource(size_t pieceLength, off_t totalLength)
+void Peer::reconfigureSessionResource(int32_t pieceLength, off_t totalLength)
{
assert(res_);
res_->reconfigure(pieceLength, totalLength);
@@ -192,13 +192,13 @@ void Peer::snubbing(bool b)
res_->snubbing(b);
}
-void Peer::updateUploadLength(size_t bytes)
+void Peer::updateUploadLength(int32_t bytes)
{
assert(res_);
res_->updateUploadLength(bytes);
}
-void Peer::updateDownloadLength(size_t bytes)
+void Peer::updateDownloadLength(int32_t bytes)
{
assert(res_);
res_->updateDownloadLength(bytes);
diff --git a/src/Peer.h b/src/Peer.h
index 0d25eca0..2f296603 100644
--- a/src/Peer.h
+++ b/src/Peer.h
@@ -160,9 +160,9 @@ public:
bool isGood() const;
- void allocateSessionResource(size_t pieceLength, off_t totalLength);
+ void allocateSessionResource(int32_t pieceLength, off_t totalLength);
- void reconfigureSessionResource(size_t pieceLength, off_t totalLength);
+ void reconfigureSessionResource(int32_t pieceLength, off_t totalLength);
void releaseSessionResource();
@@ -217,9 +217,9 @@ public:
void snubbing(bool b);
- void updateUploadLength(size_t bytes);
+ void updateUploadLength(int32_t bytes);
- void updateDownloadLength(size_t bytes);
+ void updateDownloadLength(int32_t bytes);
/**
* Returns the transfer rate from localhost to remote host.
diff --git a/src/PeerSessionResource.cc b/src/PeerSessionResource.cc
index 912f665d..bbb3680d 100644
--- a/src/PeerSessionResource.cc
+++ b/src/PeerSessionResource.cc
@@ -44,7 +44,8 @@
namespace aria2 {
-PeerSessionResource::PeerSessionResource(size_t pieceLength, off_t totalLength):
+PeerSessionResource::PeerSessionResource(int32_t pieceLength, off_t totalLength)
+ :
amChoking_(true),
amInterested_(false),
peerChoking_(true),
@@ -130,7 +131,8 @@ void PeerSessionResource::updateBitfield(size_t index, int operation)
}
}
-void PeerSessionResource::setBitfield(const unsigned char* bitfield, size_t bitfieldLength)
+void PeerSessionResource::setBitfield
+(const unsigned char* bitfield, size_t bitfieldLength)
{
bitfieldMan_->setBitfield(bitfield, bitfieldLength);
}
@@ -242,7 +244,7 @@ off_t PeerSessionResource::uploadLength() const
return peerStat_.getSessionUploadLength();
}
-void PeerSessionResource::updateUploadLength(size_t bytes)
+void PeerSessionResource::updateUploadLength(int32_t bytes)
{
peerStat_.updateUploadLength(bytes);
}
@@ -252,7 +254,7 @@ off_t PeerSessionResource::downloadLength() const
return peerStat_.getSessionDownloadLength();
}
-void PeerSessionResource::updateDownloadLength(size_t bytes)
+void PeerSessionResource::updateDownloadLength(int32_t bytes)
{
peerStat_.updateDownloadLength(bytes);
@@ -275,7 +277,7 @@ size_t PeerSessionResource::countOutstandingUpload() const
return dispatcher_->countOutstandingUpload();
}
-void PeerSessionResource::reconfigure(size_t pieceLength, off_t totalLenth)
+void PeerSessionResource::reconfigure(int32_t pieceLength, off_t totalLenth)
{
delete bitfieldMan_;
bitfieldMan_ = new BitfieldMan(pieceLength, totalLenth);
diff --git a/src/PeerSessionResource.h b/src/PeerSessionResource.h
index 3d4a6869..79136234 100644
--- a/src/PeerSessionResource.h
+++ b/src/PeerSessionResource.h
@@ -83,7 +83,7 @@ private:
BtMessageDispatcher* dispatcher_;
public:
- PeerSessionResource(size_t pieceLength, off_t totalLength);
+ PeerSessionResource(int32_t pieceLength, off_t totalLength);
~PeerSessionResource();
@@ -155,7 +155,7 @@ public:
size_t getBitfieldLength() const;
- void reconfigure(size_t index, off_t totalLength);
+ void reconfigure(int32_t pieceLength, off_t totalLength);
bool hasPiece(size_t index) const;
@@ -212,11 +212,11 @@ public:
off_t uploadLength() const;
- void updateUploadLength(size_t bytes);
+ void updateUploadLength(int32_t bytes);
off_t downloadLength() const;
- void updateDownloadLength(size_t bytes);
+ void updateDownloadLength(int32_t bytes);
const Timer& getLastDownloadUpdate() const
{
diff --git a/src/Piece.cc b/src/Piece.cc
index 27b352de..283a34ee 100644
--- a/src/Piece.cc
+++ b/src/Piece.cc
@@ -51,12 +51,14 @@ Piece::Piece():index_(0), length_(0), blockLength_(BLOCK_LENGTH), bitfield_(0),
#endif // ENABLE_MESSAGE_DIGEST
{}
-Piece::Piece(size_t index, size_t length, size_t blockLength):
- index_(index), length_(length), blockLength_(blockLength),
- bitfield_(new BitfieldMan(blockLength_, length)),
- usedBySegment_(false)
+Piece::Piece(size_t index, int32_t length, int32_t blockLength)
+ : index_(index),
+ length_(length),
+ blockLength_(blockLength),
+ bitfield_(new BitfieldMan(blockLength_, length)),
+ usedBySegment_(false)
#ifdef ENABLE_MESSAGE_DIGEST
- , nextBegin_(0)
+ ,nextBegin_(0)
#endif // ENABLE_MESSAGE_DIGEST
{}
@@ -88,12 +90,12 @@ size_t Piece::countBlock() const
return bitfield_->countBlock();
}
-size_t Piece::getBlockLength(size_t index) const
+int32_t Piece::getBlockLength(size_t index) const
{
return bitfield_->getBlockLength(index);
}
-size_t Piece::getBlockLength() const
+int32_t Piece::getBlockLength() const
{
return bitfield_->getBlockLength();
}
@@ -167,12 +169,11 @@ bool Piece::getAllMissingBlockIndexes
}
std::string Piece::toString() const {
- return fmt("piece: index=%lu, length=%lu",
- static_cast<unsigned long>(index_),
- static_cast<unsigned long>(length_));
+ return fmt("piece: index=%lu, length=%d",
+ static_cast<unsigned long>(index_), length_);
}
-void Piece::reconfigure(size_t length)
+void Piece::reconfigure(int32_t length)
{
delete bitfield_;
length_ = length;
@@ -184,7 +185,7 @@ void Piece::setBitfield(const unsigned char* bitfield, size_t len)
bitfield_->setBitfield(bitfield, len);
}
-size_t Piece::getCompletedLength()
+int32_t Piece::getCompletedLength()
{
return bitfield_->getCompletedLength();
}
@@ -197,12 +198,13 @@ void Piece::setHashType(const std::string& hashType)
}
bool Piece::updateHash
-(uint32_t begin, const unsigned char* data, size_t dataLength)
+(int32_t begin, const unsigned char* data, size_t dataLength)
{
if(hashType_.empty()) {
return false;
}
- if(begin == nextBegin_ && nextBegin_+dataLength <= length_) {
+ if(begin == nextBegin_ &&
+ nextBegin_+dataLength <= static_cast<size_t>(length_)) {
if(!mdctx_) {
mdctx_ = MessageDigest::create(hashType_);
}
diff --git a/src/Piece.h b/src/Piece.h
index ae3b108a..ef6ac3ce 100644
--- a/src/Piece.h
+++ b/src/Piece.h
@@ -57,14 +57,14 @@ class MessageDigest;
class Piece {
private:
size_t index_;
- size_t length_;
- size_t blockLength_;
+ int32_t length_;
+ int32_t blockLength_;
BitfieldMan* bitfield_;
std::vector<cuid_t> users_;
bool usedBySegment_;
#ifdef ENABLE_MESSAGE_DIGEST
- size_t nextBegin_;
+ int32_t nextBegin_;
std::string hashType_;
@@ -77,11 +77,11 @@ private:
Piece& operator=(const Piece& piece);
public:
- static const size_t BLOCK_LENGTH = 16*1024;
+ static const int32_t BLOCK_LENGTH = 16*1024;
Piece();
- Piece(size_t index, size_t length, size_t blockLength = BLOCK_LENGTH);
+ Piece(size_t index, int32_t length, int32_t blockLength = BLOCK_LENGTH);
~Piece();
@@ -125,17 +125,17 @@ public:
size_t countBlock() const;
- size_t getBlockLength(size_t index) const;
+ int32_t getBlockLength(size_t index) const;
- size_t getBlockLength() const;
+ int32_t getBlockLength() const;
size_t getIndex() const { return index_; }
void setIndex(size_t index) { index_ = index; }
- size_t getLength() const { return length_; }
+ int32_t getLength() const { return length_; }
- void setLength(size_t length) { length_ = length; }
+ void setLength(int32_t length) { length_ = length; }
const unsigned char* getBitfield() const;
@@ -151,7 +151,7 @@ public:
bool isBlockUsed(size_t index) const;
// Calculates completed length
- size_t getCompletedLength();
+ int32_t getCompletedLength();
#ifdef ENABLE_MESSAGE_DIGEST
@@ -160,7 +160,7 @@ public:
// Updates hash value. This function compares begin and private variable
// nextBegin_ and only when they are equal, hash is updated eating data and
// returns true. Otherwise returns false.
- bool updateHash(uint32_t begin, const unsigned char* data, size_t dataLength);
+ bool updateHash(int32_t begin, const unsigned char* data, size_t dataLength);
bool isHashCalculated() const;
@@ -177,7 +177,7 @@ public:
/**
* Loses current bitfield state.
*/
- void reconfigure(size_t length);
+ void reconfigure(int32_t length);
void addUser(cuid_t cuid);
void removeUser(cuid_t cuid);
diff --git a/src/PieceStorage.h b/src/PieceStorage.h
index 5f53122e..7528ac7d 100644
--- a/src/PieceStorage.h
+++ b/src/PieceStorage.h
@@ -228,7 +228,7 @@ public:
virtual SharedHandle<DiskAdaptor> getDiskAdaptor() = 0;
- virtual size_t getPieceLength(size_t index) = 0;
+ virtual int32_t getPieceLength(size_t index) = 0;
/**
* Adds piece index to advertise to other commands. They send have message
diff --git a/src/PiecedSegment.cc b/src/PiecedSegment.cc
index 7cfd6fa9..de0b43c8 100644
--- a/src/PiecedSegment.cc
+++ b/src/PiecedSegment.cc
@@ -39,8 +39,9 @@
namespace aria2 {
PiecedSegment::PiecedSegment
-(size_t pieceLength, const SharedHandle<Piece>& piece):
- pieceLength_(pieceLength), piece_(piece)
+(int32_t pieceLength, const SharedHandle<Piece>& piece)
+ : piece_(piece),
+ pieceLength_(pieceLength)
{
size_t index;
bool t = piece_->getFirstMissingBlockIndexWithoutLock(index);
@@ -70,14 +71,14 @@ off_t PiecedSegment::getPositionToWrite() const
return getPosition()+writtenLength_;
}
-size_t PiecedSegment::getLength() const
+int32_t PiecedSegment::getLength() const
{
return piece_->getLength();
}
-void PiecedSegment::updateWrittenLength(size_t bytes)
+void PiecedSegment::updateWrittenLength(int32_t bytes)
{
- size_t newWrittenLength = writtenLength_+bytes;
+ int32_t newWrittenLength = writtenLength_+bytes;
assert(newWrittenLength <= piece_->getLength());
for(size_t i = writtenLength_/piece_->getBlockLength(),
end = newWrittenLength/piece_->getBlockLength(); i < end; ++i) {
@@ -91,8 +92,10 @@ void PiecedSegment::updateWrittenLength(size_t bytes)
#ifdef ENABLE_MESSAGE_DIGEST
-bool PiecedSegment::updateHash(uint32_t begin,
- const unsigned char* data, size_t dataLength)
+bool PiecedSegment::updateHash
+(int32_t begin,
+ const unsigned char* data,
+ size_t dataLength)
{
return piece_->updateHash(begin, data, dataLength);
}
diff --git a/src/PiecedSegment.h b/src/PiecedSegment.h
index 85461358..22563b27 100644
--- a/src/PiecedSegment.h
+++ b/src/PiecedSegment.h
@@ -41,16 +41,16 @@ namespace aria2 {
class PiecedSegment:public Segment {
private:
+ SharedHandle<Piece> piece_;
/**
* Piece class has length property but it is a actual length of piece.
* The last piece likely have shorter length than the other length.
*/
- size_t pieceLength_;
- SharedHandle<Piece> piece_;
- size_t writtenLength_;
+ int32_t pieceLength_;
+ int32_t writtenLength_;
public:
- PiecedSegment(size_t pieceLength, const SharedHandle<Piece>& piece);
+ PiecedSegment(int32_t pieceLength, const SharedHandle<Piece>& piece);
virtual ~PiecedSegment();
@@ -62,25 +62,27 @@ public:
virtual off_t getPositionToWrite() const;
- virtual size_t getLength() const;
+ virtual int32_t getLength() const;
- virtual size_t getSegmentLength() const
+ virtual int32_t getSegmentLength() const
{
return pieceLength_;
}
- virtual size_t getWrittenLength() const
+ virtual int32_t getWrittenLength() const
{
return writtenLength_;
}
- virtual void updateWrittenLength(size_t bytes);
+ virtual void updateWrittenLength(int32_t bytes);
#ifdef ENABLE_MESSAGE_DIGEST
// `begin' is a offset inside this segment.
- virtual bool updateHash(uint32_t begin,
- const unsigned char* data, size_t dataLength);
+ virtual bool updateHash
+ (int32_t begin,
+ const unsigned char* data,
+ size_t dataLength);
virtual bool isHashCalculated() const;
diff --git a/src/RpcMethodImpl.cc b/src/RpcMethodImpl.cc
index 4e0904fa..7bf782c1 100644
--- a/src/RpcMethodImpl.cc
+++ b/src/RpcMethodImpl.cc
@@ -603,7 +603,7 @@ void createFileEntry
(const SharedHandle<List>& files,
InputIterator first, InputIterator last,
off_t totalLength,
- size_t pieceLength,
+ int32_t pieceLength,
const std::string& bitfield)
{
BitfieldMan bf(pieceLength, totalLength);
@@ -619,7 +619,7 @@ void createFileEntry
(const SharedHandle<List>& files,
InputIterator first, InputIterator last,
off_t totalLength,
- size_t pieceLength,
+ int32_t pieceLength,
const SharedHandle<PieceStorage>& ps)
{
BitfieldMan bf(pieceLength, totalLength);
@@ -680,7 +680,7 @@ void gatherProgressCommon
}
const SharedHandle<DownloadContext>& dctx = group->getDownloadContext();
if(requested_key(keys, KEY_PIECE_LENGTH)) {
- entryDict->put(KEY_PIECE_LENGTH, util::uitos(dctx->getPieceLength()));
+ entryDict->put(KEY_PIECE_LENGTH, util::itos(dctx->getPieceLength()));
}
if(requested_key(keys, KEY_NUM_PIECES)) {
entryDict->put(KEY_NUM_PIECES, util::uitos(dctx->getNumPieces()));
@@ -897,7 +897,7 @@ void gatherStoppedDownload
}
}
if(requested_key(keys, KEY_PIECE_LENGTH)) {
- entryDict->put(KEY_PIECE_LENGTH, util::uitos(ds->pieceLength));
+ entryDict->put(KEY_PIECE_LENGTH, util::itos(ds->pieceLength));
}
if(requested_key(keys, KEY_NUM_PIECES)) {
entryDict->put(KEY_NUM_PIECES, util::uitos(ds->numPieces));
diff --git a/src/Segment.h b/src/Segment.h
index 153288d3..46d8c58f 100644
--- a/src/Segment.h
+++ b/src/Segment.h
@@ -58,19 +58,21 @@ public:
virtual off_t getPositionToWrite() const = 0;
- virtual size_t getLength() const = 0;
+ virtual int32_t getLength() const = 0;
- virtual size_t getSegmentLength() const = 0;
+ virtual int32_t getSegmentLength() const = 0;
- virtual size_t getWrittenLength() const = 0;
+ virtual int32_t getWrittenLength() const = 0;
- virtual void updateWrittenLength(size_t bytes) = 0;
+ virtual void updateWrittenLength(int32_t bytes) = 0;
#ifdef ENABLE_MESSAGE_DIGEST
// `begin' is a offset inside this segment.
- virtual bool updateHash(uint32_t begin,
- const unsigned char* data, size_t dataLength) = 0;
+ virtual bool updateHash
+ (int32_t begin,
+ const unsigned char* data,
+ size_t dataLength) = 0;
virtual bool isHashCalculated() const = 0;
diff --git a/src/SegmentMan.cc b/src/SegmentMan.cc
index 3914a660..14c3a1bf 100644
--- a/src/SegmentMan.cc
+++ b/src/SegmentMan.cc
@@ -132,21 +132,19 @@ SharedHandle<Segment> SegmentMan::checkoutSegment
}
SegmentEntryHandle entry(new SegmentEntry(cuid, segment));
usedSegmentEntries_.push_back(entry);
- A2_LOG_DEBUG(fmt("index=%lu, length=%lu, segmentLength=%lu,"
- " writtenLength=%lu",
+ A2_LOG_DEBUG(fmt("index=%lu, length=%d, segmentLength=%d,"
+ " writtenLength=%d",
static_cast<unsigned long>(segment->getIndex()),
- static_cast<unsigned long>(segment->getLength()),
- static_cast<unsigned long>(segment->getSegmentLength()),
- static_cast<unsigned long>(segment->getWrittenLength())));
+ segment->getLength(),
+ segment->getSegmentLength(),
+ segment->getWrittenLength()));
if(piece->getLength() > 0) {
- std::map<size_t, size_t>::iterator positr =
+ std::map<size_t, int32_t>::iterator positr =
segmentWrittenLengthMemo_.find(segment->getIndex());
if(positr != segmentWrittenLengthMemo_.end()) {
- const size_t writtenLength = (*positr).second;
- A2_LOG_DEBUG(fmt("writtenLength(in memo)=%lu, writtenLength=%lu",
- static_cast<unsigned long>(writtenLength),
- static_cast<unsigned long>(segment->getWrittenLength()))
- );
+ const int32_t writtenLength = (*positr).second;
+ A2_LOG_DEBUG(fmt("writtenLength(in memo)=%d, writtenLength=%d",
+ writtenLength, segment->getWrittenLength()));
// If the difference between cached writtenLength and segment's
// writtenLength is less than one block, we assume that these
// missing bytes are already downloaded.
@@ -261,9 +259,9 @@ void SegmentMan::cancelSegmentInternal
segment->getPiece()->setUsedBySegment(false);
pieceStorage_->cancelPiece(segment->getPiece(), cuid);
segmentWrittenLengthMemo_[segment->getIndex()] = segment->getWrittenLength();
- A2_LOG_DEBUG(fmt("Memorized segment index=%lu, writtenLength=%lu",
+ A2_LOG_DEBUG(fmt("Memorized segment index=%lu, writtenLength=%d",
static_cast<unsigned long>(segment->getIndex()),
- static_cast<unsigned long>(segment->getWrittenLength())));
+ segment->getWrittenLength()));
}
void SegmentMan::cancelSegment(cuid_t cuid) {
diff --git a/src/SegmentMan.h b/src/SegmentMan.h
index a19fce3e..405f7476 100644
--- a/src/SegmentMan.h
+++ b/src/SegmentMan.h
@@ -86,7 +86,7 @@ private:
// Remember writtenLength for each segment. The key is an index of a
// segment. The value is writtenLength for that segment.
- std::map<size_t, size_t> segmentWrittenLengthMemo_;
+ std::map<size_t, int32_t> segmentWrittenLengthMemo_;
// Used for calculating download speed.
std::vector<SharedHandle<PeerStat> > peerStats_;
diff --git a/src/UnknownLengthPieceStorage.cc b/src/UnknownLengthPieceStorage.cc
index d87ddad3..1d50f61a 100644
--- a/src/UnknownLengthPieceStorage.cc
+++ b/src/UnknownLengthPieceStorage.cc
@@ -220,7 +220,7 @@ DiskAdaptorHandle UnknownLengthPieceStorage::getDiskAdaptor()
return diskAdaptor_;
}
-size_t UnknownLengthPieceStorage::getPieceLength(size_t index)
+int32_t UnknownLengthPieceStorage::getPieceLength(size_t index)
{
if(index == 0) {
return totalLength_;
diff --git a/src/UnknownLengthPieceStorage.h b/src/UnknownLengthPieceStorage.h
index 39154f17..3fc6e17d 100644
--- a/src/UnknownLengthPieceStorage.h
+++ b/src/UnknownLengthPieceStorage.h
@@ -231,7 +231,7 @@ public:
virtual SharedHandle<DiskAdaptor> getDiskAdaptor();
- virtual size_t getPieceLength(size_t index);
+ virtual int32_t getPieceLength(size_t index);
/**
* Adds piece index to advertise to other commands. They send have message