2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Refactored fieldMan ctor.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
pull/1/head
Tatsuhiro Tsujikawa 2009-07-01 14:52:02 +00:00
parent ebf8ff90d5
commit cf294a4162
3 changed files with 20 additions and 23 deletions

View File

@ -1,3 +1,9 @@
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Refactored fieldMan ctor.
* src/BitfieldMan.cc
* src/BitfieldMan.h
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't print "No files to download." message if -S is given.

View File

@ -49,12 +49,12 @@ namespace aria2 {
BitfieldMan::BitfieldMan(size_t blockLength, uint64_t totalLength)
:blockLength(blockLength),
totalLength(totalLength),
bitfield(0),
useBitfield(0),
filterBitfield(0),
bitfieldLength(0),
blocks(0),
filterEnabled(false),
bitfield(0),
useBitfield(0),
filterBitfield(0),
cachedNumMissingBlock(0),
cachedNumFilteredBlock(0),
cachedCompletedLength(0),
@ -73,36 +73,27 @@ BitfieldMan::BitfieldMan(size_t blockLength, uint64_t totalLength)
}
BitfieldMan::BitfieldMan(const BitfieldMan& bitfieldMan)
:blockLength(0),
totalLength(0),
bitfield(0),
useBitfield(0),
:blockLength(bitfieldMan.blockLength),
totalLength(bitfieldMan.totalLength),
bitfieldLength(bitfieldMan.bitfieldLength),
blocks(bitfieldMan.blocks),
filterEnabled(bitfieldMan.filterEnabled),
bitfield(new unsigned char[bitfieldLength]),
useBitfield(new unsigned char[bitfieldLength]),
filterBitfield(0),
bitfieldLength(0),
blocks(0),
filterEnabled(false),
randomizer(bitfieldMan.randomizer),
cachedNumMissingBlock(0),
cachedNumFilteredBlock(0),
cachedCompletedLength(0),
cachedFilteredComletedLength(0),
cachedFilteredTotalLength(0)
{
blockLength = bitfieldMan.blockLength;
totalLength = bitfieldMan.totalLength;
blocks = bitfieldMan.blocks;
bitfieldLength = bitfieldMan.bitfieldLength;
bitfield = new unsigned char[bitfieldLength];
useBitfield = new unsigned char[bitfieldLength];
memcpy(bitfield, bitfieldMan.bitfield, bitfieldLength);
memcpy(useBitfield, bitfieldMan.useBitfield, bitfieldLength);
filterEnabled = bitfieldMan.filterEnabled;
if(filterEnabled) {
filterBitfield = new unsigned char[bitfieldLength];
memcpy(filterBitfield, bitfieldMan.filterBitfield, bitfieldLength);
} else {
filterBitfield = 0;
}
this->randomizer = bitfieldMan.randomizer;
updateCache();
}

View File

@ -47,12 +47,12 @@ class BitfieldMan {
private:
size_t blockLength;
uint64_t totalLength;
unsigned char* bitfield;
unsigned char* useBitfield;
unsigned char* filterBitfield;
size_t bitfieldLength;
size_t blocks;
bool filterEnabled;
unsigned char* bitfield;
unsigned char* useBitfield;
unsigned char* filterBitfield;
SharedHandle<Randomizer> randomizer;
// for caching