mirror of https://github.com/aria2/aria2
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for ChunkChecksum. * src/ChunkChecksum.h * src/MetalinkParserController.cc * src/MetalinkParserController.hpull/1/head
parent
18d7eb5b77
commit
4bef54c8e9
|
@ -1,3 +1,10 @@
|
||||||
|
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Use vector instead of deque for ChunkChecksum.
|
||||||
|
* src/ChunkChecksum.h
|
||||||
|
* src/MetalinkParserController.cc
|
||||||
|
* src/MetalinkParserController.h
|
||||||
|
|
||||||
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Added MessageDigest::isStronger(). Now aria2 selects stronger hash
|
Added MessageDigest::isStronger(). Now aria2 selects stronger hash
|
||||||
|
|
|
@ -36,23 +36,25 @@
|
||||||
#define _D_CHUNK_CHECKSUM_H_
|
#define _D_CHUNK_CHECKSUM_H_
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "SharedHandle.h"
|
#include "SharedHandle.h"
|
||||||
#include "A2STR.h"
|
#include "A2STR.h"
|
||||||
#include <string>
|
|
||||||
#include <deque>
|
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
class ChunkChecksum {
|
class ChunkChecksum {
|
||||||
private:
|
private:
|
||||||
std::string _algo;
|
std::string _algo;
|
||||||
std::deque<std::string> _checksums;
|
std::vector<std::string> _checksums;
|
||||||
size_t _checksumLength;
|
size_t _checksumLength;
|
||||||
public:
|
public:
|
||||||
ChunkChecksum():_checksumLength(0) {}
|
ChunkChecksum():_checksumLength(0) {}
|
||||||
|
|
||||||
ChunkChecksum(const std::string& algo,
|
ChunkChecksum(const std::string& algo,
|
||||||
const std::deque<std::string>& checksums,
|
const std::vector<std::string>& checksums,
|
||||||
size_t checksumLength):
|
size_t checksumLength):
|
||||||
_algo(algo),
|
_algo(algo),
|
||||||
_checksums(checksums),
|
_checksums(checksums),
|
||||||
|
@ -87,7 +89,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::deque<std::string>& getChecksums() const
|
const std::vector<std::string>& getChecksums() const
|
||||||
{
|
{
|
||||||
return _checksums;
|
return _checksums;
|
||||||
}
|
}
|
||||||
|
@ -112,7 +114,7 @@ public:
|
||||||
_checksumLength = length;
|
_checksumLength = length;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setChecksums(const std::deque<std::string>& mds)
|
void setChecksums(const std::vector<std::string>& mds)
|
||||||
{
|
{
|
||||||
_checksums = mds;
|
_checksums = mds;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include "MetalinkParserController.h"
|
#include "MetalinkParserController.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "Metalinker.h"
|
#include "Metalinker.h"
|
||||||
#include "MetalinkEntry.h"
|
#include "MetalinkEntry.h"
|
||||||
|
@ -364,7 +363,7 @@ void MetalinkParserController::commitChunkChecksumTransactionV4()
|
||||||
if(_tEntry->chunkChecksum.isNull() ||
|
if(_tEntry->chunkChecksum.isNull() ||
|
||||||
MessageDigestContext::isStronger(_tChunkChecksumV4->getAlgo(),
|
MessageDigestContext::isStronger(_tChunkChecksumV4->getAlgo(),
|
||||||
_tEntry->chunkChecksum->getAlgo())) {
|
_tEntry->chunkChecksum->getAlgo())) {
|
||||||
std::deque<std::string> checksums(_tempChunkChecksumsV4.begin(),
|
std::vector<std::string> checksums(_tempChunkChecksumsV4.begin(),
|
||||||
_tempChunkChecksumsV4.end());
|
_tempChunkChecksumsV4.end());
|
||||||
_tChunkChecksumV4->setChecksums(checksums);
|
_tChunkChecksumV4->setChecksums(checksums);
|
||||||
_tEntry->chunkChecksum = _tChunkChecksumV4;
|
_tEntry->chunkChecksum = _tChunkChecksumV4;
|
||||||
|
@ -470,7 +469,7 @@ void MetalinkParserController::commitChunkChecksumTransaction()
|
||||||
_tEntry->chunkChecksum->getAlgo())) {
|
_tEntry->chunkChecksum->getAlgo())) {
|
||||||
std::sort(_tempChunkChecksums.begin(), _tempChunkChecksums.end(),
|
std::sort(_tempChunkChecksums.begin(), _tempChunkChecksums.end(),
|
||||||
Ascend1st<std::pair<size_t, std::string> >());
|
Ascend1st<std::pair<size_t, std::string> >());
|
||||||
std::deque<std::string> checksums;
|
std::vector<std::string> checksums;
|
||||||
std::transform(_tempChunkChecksums.begin(), _tempChunkChecksums.end(),
|
std::transform(_tempChunkChecksums.begin(), _tempChunkChecksums.end(),
|
||||||
std::back_inserter(checksums),
|
std::back_inserter(checksums),
|
||||||
select2nd<std::pair<size_t, std::string> >());
|
select2nd<std::pair<size_t, std::string> >());
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <deque>
|
#include <vector>
|
||||||
|
|
||||||
#include "SharedHandle.h"
|
#include "SharedHandle.h"
|
||||||
|
|
||||||
|
@ -70,11 +70,11 @@ private:
|
||||||
|
|
||||||
SharedHandle<ChunkChecksum> _tChunkChecksumV4; // Metalink4Spec
|
SharedHandle<ChunkChecksum> _tChunkChecksumV4; // Metalink4Spec
|
||||||
|
|
||||||
std::deque<std::string> _tempChunkChecksumsV4; // Metalink4Spec
|
std::vector<std::string> _tempChunkChecksumsV4; // Metalink4Spec
|
||||||
|
|
||||||
SharedHandle<ChunkChecksum> _tChunkChecksum; // Metalink3Spec
|
SharedHandle<ChunkChecksum> _tChunkChecksum; // Metalink3Spec
|
||||||
|
|
||||||
std::deque<std::pair<size_t, std::string> > _tempChunkChecksums;//Metalink3Spec
|
std::vector<std::pair<size_t, std::string> > _tempChunkChecksums;//Metalink3Spec
|
||||||
|
|
||||||
std::pair<size_t, std::string> _tempHashPair; // Metalink3Spec
|
std::pair<size_t, std::string> _tempHashPair; // Metalink3Spec
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue