浏览代码

2009-07-01 Tatsuhiro Tsujikawa <[email protected]>

	Refactored fieldMan ctor.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
Tatsuhiro Tsujikawa 16 年之前
父节点
当前提交
cf294a4162
共有 3 个文件被更改,包括 20 次插入23 次删除
  1. 6 0
      ChangeLog
  2. 11 20
      src/BitfieldMan.cc
  3. 3 3
      src/BitfieldMan.h

+ 6 - 0
ChangeLog

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

+ 11 - 20
src/BitfieldMan.cc

@@ -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();
 }
 

+ 3 - 3
src/BitfieldMan.h

@@ -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