summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-02-28 12:30:11 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-02-28 12:30:11 +0000
commitc342bde9627b434effbc0cd10b817670d1da0923 (patch)
tree60d14bf448066b8dcd639adfa0db716d5a8258c8
parent135f0a2a8c4ee04a5e96d84ba558245fabfc1f5c (diff)
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for containers which is used for mostly read-only purpose.
-rw-r--r--ChangeLog5
-rw-r--r--src/AbstractBtMessage.cc6
-rw-r--r--src/AbstractBtMessage.h4
-rw-r--r--src/AbstractCommand.cc8
-rw-r--r--src/AbstractCommand.h4
-rw-r--r--src/AbstractProxyRequestCommand.cc4
-rw-r--r--src/AbstractProxyResponseCommand.cc4
-rw-r--r--src/ActivePeerConnectionCommand.cc4
-rw-r--r--src/AnnounceList.cc30
-rw-r--r--src/AnnounceTier.h3
-rw-r--r--src/AsyncNameResolver.h6
-rw-r--r--src/AuthConfigFactory.cc2
-rw-r--r--src/BDE.h4
-rw-r--r--src/BNode.cc16
-rw-r--r--src/BNode.h8
-rw-r--r--src/BitfieldMan.h5
-rw-r--r--src/BtBitfieldMessageValidator.h5
-rw-r--r--src/BtCheckIntegrityEntry.cc8
-rw-r--r--src/BtCheckIntegrityEntry.h4
-rw-r--r--src/BtDependency.cc8
-rw-r--r--src/BtExtendedMessage.cc2
-rw-r--r--src/BtFileAllocationEntry.cc4
-rw-r--r--src/BtFileAllocationEntry.h2
-rw-r--r--src/BtHandshakeMessageValidator.h5
-rw-r--r--src/BtLeecherStateChoke.cc17
-rw-r--r--src/BtLeecherStateChoke.h8
-rw-r--r--src/BtMessage.h4
-rw-r--r--src/BtMessageDispatcher.h6
-rw-r--r--src/BtMessageValidator.h10
-rw-r--r--src/BtPieceMessage.cc10
-rw-r--r--src/BtPieceMessageValidator.h5
-rw-r--r--src/BtPostDownloadHandler.cc6
-rw-r--r--src/BtPostDownloadHandler.h4
-rw-r--r--src/BtRequestFactory.h10
-rw-r--r--src/BtSeederStateChoke.cc9
-rw-r--r--src/BtSeederStateChoke.h6
-rw-r--r--src/BtSetup.cc2
-rw-r--r--src/BtSetup.h4
-rw-r--r--src/CheckIntegrityCommand.cc6
-rw-r--r--src/CheckIntegrityEntry.cc2
-rw-r--r--src/CheckIntegrityEntry.h12
-rw-r--r--src/ChecksumCheckIntegrityEntry.cc8
-rw-r--r--src/ChecksumCheckIntegrityEntry.h4
-rw-r--r--src/Command.h3
-rw-r--r--src/ConsoleStatCalc.cc8
-rw-r--r--src/Cookie.h3
-rw-r--r--src/CookieStorage.cc18
-rw-r--r--src/CookieStorage.h15
-rw-r--r--src/DHTAbstractNodeLookupTask.cc23
-rw-r--r--src/DHTAbstractNodeLookupTask.h21
-rw-r--r--src/DHTAutoSaveCommand.cc10
-rw-r--r--src/DHTBucket.cc5
-rw-r--r--src/DHTBucket.h9
-rw-r--r--src/DHTBucketRefreshTask.cc5
-rw-r--r--src/DHTConnectionImpl.cc5
-rw-r--r--src/DHTEntryPointNameResolveCommand.cc16
-rw-r--r--src/DHTEntryPointNameResolveCommand.h12
-rw-r--r--src/DHTFindNodeMessage.cc2
-rw-r--r--src/DHTFindNodeReplyMessage.cc8
-rw-r--r--src/DHTFindNodeReplyMessage.h9
-rw-r--r--src/DHTGetPeersMessage.cc4
-rw-r--r--src/DHTGetPeersReplyMessage.cc23
-rw-r--r--src/DHTGetPeersReplyMessage.h21
-rw-r--r--src/DHTMessageFactory.h27
-rw-r--r--src/DHTMessageFactoryImpl.cc44
-rw-r--r--src/DHTMessageFactoryImpl.h28
-rw-r--r--src/DHTNodeLookupTask.cc8
-rw-r--r--src/DHTNodeLookupTask.h2
-rw-r--r--src/DHTPeerAnnounceEntry.cc8
-rw-r--r--src/DHTPeerAnnounceEntry.h8
-rw-r--r--src/DHTPeerAnnounceStorage.cc2
-rw-r--r--src/DHTPeerAnnounceStorage.h7
-rw-r--r--src/DHTPeerLookupTask.cc10
-rw-r--r--src/DHTPeerLookupTask.h6
-rw-r--r--src/DHTRoutingTable.cc8
-rw-r--r--src/DHTRoutingTable.h10
-rw-r--r--src/DHTRoutingTableDeserializer.cc2
-rw-r--r--src/DHTRoutingTableDeserializer.h10
-rw-r--r--src/DHTRoutingTableSerializer.cc9
-rw-r--r--src/DHTRoutingTableSerializer.h10
-rw-r--r--src/DHTSetup.cc12
-rw-r--r--src/DHTSetup.h4
-rw-r--r--src/DefaultBtAnnounce.cc2
-rw-r--r--src/DefaultBtInteractive.cc15
-rw-r--r--src/DefaultBtMessageDispatcher.cc28
-rw-r--r--src/DefaultBtMessageDispatcher.h15
-rw-r--r--src/DefaultBtMessageFactory.cc3
-rw-r--r--src/DefaultBtMessageReceiver.cc12
-rw-r--r--src/DefaultBtProgressInfoFile.cc9
-rw-r--r--src/DefaultBtRequestFactory.cc23
-rw-r--r--src/DefaultBtRequestFactory.h8
-rw-r--r--src/DefaultExtensionMessageFactory.cc4
-rw-r--r--src/DefaultPeerStorage.cc70
-rw-r--r--src/DefaultPeerStorage.h4
-rw-r--r--src/DefaultPieceStorage.cc63
-rw-r--r--src/DefaultPieceStorage.h18
-rw-r--r--src/DownloadCommand.cc11
-rw-r--r--src/DownloadContext.cc2
-rw-r--r--src/DownloadEngine.cc10
-rw-r--r--src/DownloadEngine.h7
-rw-r--r--src/DownloadEngineFactory.cc2
-rw-r--r--src/DownloadEngineFactory.h8
-rw-r--r--src/DownloadHandler.h5
-rw-r--r--src/DownloadHandlerFactory.cc17
-rw-r--r--src/FileAllocationCommand.cc6
-rw-r--r--src/FileAllocationEntry.h8
-rw-r--r--src/FileEntry.cc12
-rw-r--r--src/FileEntry.h14
-rw-r--r--src/FillRequestGroupCommand.h2
-rw-r--r--src/FtpConnection.cc4
-rw-r--r--src/FtpDownloadCommand.cc2
-rw-r--r--src/FtpFinishDownloadCommand.cc2
-rw-r--r--src/FtpInitiateConnectionCommand.cc4
-rw-r--r--src/FtpInitiateConnectionCommand.h2
-rw-r--r--src/FtpNegotiationCommand.cc9
-rw-r--r--src/FtpTunnelRequestCommand.cc2
-rw-r--r--src/FtpTunnelResponseCommand.cc2
-rw-r--r--src/GrowSegment.cc4
-rw-r--r--src/GrowSegment.h2
-rw-r--r--src/HandleRegistry.h13
-rw-r--r--src/HandshakeExtensionMessage.cc2
-rw-r--r--src/HttpConnection.cc16
-rw-r--r--src/HttpDownloadCommand.cc2
-rw-r--r--src/HttpHeader.cc18
-rw-r--r--src/HttpHeader.h4
-rw-r--r--src/HttpInitiateConnectionCommand.cc4
-rw-r--r--src/HttpInitiateConnectionCommand.h2
-rw-r--r--src/HttpProxyRequestCommand.cc2
-rw-r--r--src/HttpProxyResponseCommand.cc2
-rw-r--r--src/HttpRequest.cc6
-rw-r--r--src/HttpRequest.h6
-rw-r--r--src/HttpRequestCommand.cc13
-rw-r--r--src/HttpResponse.cc7
-rw-r--r--src/HttpResponse.h2
-rw-r--r--src/HttpResponseCommand.cc21
-rw-r--r--src/IndexBtMessageValidator.h4
-rw-r--r--src/InitiateConnectionCommand.cc6
-rw-r--r--src/InitiateConnectionCommand.h2
-rw-r--r--src/InitiateConnectionCommandFactory.cc2
-rw-r--r--src/MSEHandshake.cc4
-rw-r--r--src/MSEHandshake.h4
-rw-r--r--src/MemoryBufferPreDownloadHandler.h2
-rw-r--r--src/Metalink2RequestGroup.cc30
-rw-r--r--src/Metalink2RequestGroup.h7
-rw-r--r--src/MetalinkPostDownloadHandler.cc4
-rw-r--r--src/MetalinkPostDownloadHandler.h4
-rw-r--r--src/MultiDiskAdaptor.h2
-rw-r--r--src/MultiFileAllocationIterator.cc4
-rw-r--r--src/MultiUrlRequestInfo.cc2
-rw-r--r--src/MultiUrlRequestInfo.h6
-rw-r--r--src/NameMatchOptionHandler.h3
-rw-r--r--src/NameResolver.cc2
-rw-r--r--src/NameResolver.h4
-rw-r--r--src/Netrc.cc20
-rw-r--r--src/Netrc.h28
-rw-r--r--src/NetrcAuthResolver.cc10
-rw-r--r--src/NsCookieParser.cc5
-rw-r--r--src/NsCookieParser.h8
-rw-r--r--src/NumberDecorator.h6
-rw-r--r--src/OptionHandlerFactory.cc8
-rw-r--r--src/OptionHandlerImpl.h10
-rw-r--r--src/OptionParser.cc3
-rw-r--r--src/OptionParser.h3
-rw-r--r--src/PStringBuildVisitor.cc6
-rw-r--r--src/PStringBuildVisitor.h5
-rw-r--r--src/PStringDatum.h2
-rw-r--r--src/PStringNumLoop.h16
-rw-r--r--src/PStringSegment.h2
-rw-r--r--src/PStringSelect.h16
-rw-r--r--src/ParameterizedStringParser.cc29
-rw-r--r--src/Peer.cc2
-rw-r--r--src/Peer.h7
-rw-r--r--src/PeerAbstractCommand.cc2
-rw-r--r--src/PeerInitiateConnectionCommand.cc4
-rw-r--r--src/PeerInteractionCommand.cc4
-rw-r--r--src/PeerListenCommand.cc7
-rw-r--r--src/PeerReceiveHandshakeCommand.cc2
-rw-r--r--src/PeerSessionResource.cc6
-rw-r--r--src/PeerSessionResource.h14
-rw-r--r--src/PeerStorage.h9
-rw-r--r--src/Piece.h4
-rw-r--r--src/PieceStorage.h12
-rw-r--r--src/PiecedSegment.cc5
-rw-r--r--src/PiecedSegment.h2
-rw-r--r--src/PostDownloadHandler.h7
-rw-r--r--src/PreDownloadHandler.h3
-rw-r--r--src/RangeBtMessageValidator.h4
-rw-r--r--src/ReceiverMSEHandshakeCommand.cc2
-rw-r--r--src/Request.h5
-rw-r--r--src/RequestGroup.cc35
-rw-r--r--src/RequestGroup.h23
-rw-r--r--src/RequestGroupMan.cc70
-rw-r--r--src/RequestGroupMan.h7
-rw-r--r--src/RequestSlot.h5
-rw-r--r--src/SeedCheckCommand.cc9
-rw-r--r--src/SeedCriteria.h5
-rw-r--r--src/Segment.h8
-rw-r--r--src/SegmentMan.cc44
-rw-r--r--src/SegmentMan.h15
-rw-r--r--src/Sequence.h21
-rw-r--r--src/Sqlite3MozCookieParser.cc7
-rw-r--r--src/Sqlite3MozCookieParser.h4
-rw-r--r--src/StreamCheckIntegrityEntry.cc8
-rw-r--r--src/StreamCheckIntegrityEntry.h4
-rw-r--r--src/StreamFileAllocationEntry.cc5
-rw-r--r--src/StreamFileAllocationEntry.h5
-rw-r--r--src/TrackerWatcherCommand.cc16
-rw-r--r--src/UTMetadataPostDownloadHandler.cc6
-rw-r--r--src/UTMetadataPostDownloadHandler.h2
-rw-r--r--src/UTMetadataRequestFactory.cc5
-rw-r--r--src/UTMetadataRequestFactory.h4
-rw-r--r--src/UTPexExtensionMessage.cc10
-rw-r--r--src/UTPexExtensionMessage.h12
-rw-r--r--src/UnionSeedCriteria.h34
-rw-r--r--src/UnknownLengthPieceStorage.cc18
-rw-r--r--src/UnknownLengthPieceStorage.h11
-rw-r--r--src/UriListParser.cc2
-rw-r--r--src/UriListParser.h2
-rw-r--r--src/XmlRpcMethodImpl.cc51
-rw-r--r--src/bittorrent_helper.cc18
-rw-r--r--src/bittorrent_helper.h7
-rw-r--r--src/download_helper.cc56
-rw-r--r--src/download_helper.h14
-rw-r--r--src/magnet.cc4
-rw-r--r--src/main.cc12
-rw-r--r--src/option_processing.cc2
-rw-r--r--src/util.h3
-rw-r--r--test/BNodeTest.cc10
-rw-r--r--test/BtDependencyTest.cc2
-rw-r--r--test/BtPostDownloadHandlerTest.cc2
-rw-r--r--test/BtRequestMessageTest.cc7
-rw-r--r--test/CookieStorageTest.cc26
-rw-r--r--test/DHTAnnouncePeerMessageTest.cc2
-rw-r--r--test/DHTBucketTest.cc2
-rw-r--r--test/DHTFindNodeMessageTest.cc7
-rw-r--r--test/DHTFindNodeReplyMessageTest.cc3
-rw-r--r--test/DHTGetPeersMessageTest.cc11
-rw-r--r--test/DHTGetPeersReplyMessageTest.cc4
-rw-r--r--test/DHTPeerAnnounceEntryTest.cc7
-rw-r--r--test/DHTPeerAnnounceStorageTest.cc2
-rw-r--r--test/DHTRoutingTableDeserializerTest.cc5
-rw-r--r--test/DHTRoutingTableSerializerTest.cc3
-rw-r--r--test/DHTRoutingTableTest.cc2
-rw-r--r--test/DefaultBtMessageDispatcherTest.cc2
-rw-r--r--test/DefaultBtProgressInfoFileTest.cc12
-rw-r--r--test/DefaultBtRequestFactoryTest.cc16
-rw-r--r--test/DefaultPeerStorageTest.cc6
-rw-r--r--test/DefaultPieceStorageTest.cc6
-rw-r--r--test/DownloadHelperTest.cc61
-rw-r--r--test/FeedbackURISelectorTest.cc2
-rw-r--r--test/FileEntryTest.cc2
-rw-r--r--test/HttpHeaderTest.cc2
-rw-r--r--test/InOrderURISelectorTest.cc2
-rw-r--r--test/MSEHandshakeTest.cc2
-rw-r--r--test/Metalink2RequestGroupTest.cc14
-rw-r--r--test/MetalinkPostDownloadHandlerTest.cc2
-rw-r--r--test/MockBtMessage.h4
-rw-r--r--test/MockBtMessageDispatcher.h6
-rw-r--r--test/MockBtRequestFactory.h6
-rw-r--r--test/MockDHTMessage.h4
-rw-r--r--test/MockDHTMessageFactory.h14
-rw-r--r--test/MockPeerStorage.h8
-rw-r--r--test/MockPieceStorage.h10
-rw-r--r--test/NetrcTest.cc3
-rw-r--r--test/NsCookieParserTest.cc2
-rw-r--r--test/OptionHandlerTest.cc2
-rw-r--r--test/OptionParserTest.cc2
-rw-r--r--test/PStringBuildVisitorTest.cc6
-rw-r--r--test/ParameterizedStringParserTest.cc5
-rw-r--r--test/RequestGroupManTest.cc10
-rw-r--r--test/SegmentManTest.cc4
-rw-r--r--test/SequenceTest.cc3
-rw-r--r--test/Sqlite3MozCookieParserTest.cc2
-rw-r--r--test/UTMetadataPostDownloadHandlerTest.cc2
-rw-r--r--test/UTMetadataRequestFactoryTest.cc3
-rw-r--r--test/UriListParserTest.cc6
-rw-r--r--test/XmlRpcMethodTest.cc2
277 files changed, 1280 insertions, 1232 deletions
diff --git a/ChangeLog b/ChangeLog
index 53bf53f1..61133440 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
+ Use vector instead of deque for containers which is used for
+ mostly read-only purpose.
+
+2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
+
Fixed typo
* test/Makefile.am
diff --git a/src/AbstractBtMessage.cc b/src/AbstractBtMessage.cc
index 7e6f84bc..793778e3 100644
--- a/src/AbstractBtMessage.cc
+++ b/src/AbstractBtMessage.cc
@@ -59,12 +59,10 @@ void AbstractBtMessage::setPeer(const SharedHandle<Peer>& peer)
this->peer = peer;
}
-bool AbstractBtMessage::validate(std::deque<std::string>& errors)
+void AbstractBtMessage::validate()
{
if(validator.get()) {
- return validator->validate(errors);
- } else {
- return true;
+ validator->validate();
}
}
diff --git a/src/AbstractBtMessage.h b/src/AbstractBtMessage.h
index 059d2897..4a6a296d 100644
--- a/src/AbstractBtMessage.h
+++ b/src/AbstractBtMessage.h
@@ -37,8 +37,6 @@
#include "BtMessage.h"
-#include <deque>
-
namespace aria2 {
class PieceStorage;
@@ -122,7 +120,7 @@ public:
virtual void doReceivedAction() {}
- virtual bool validate(std::deque<std::string>& errors);
+ virtual void validate();
virtual void onQueued() {}
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index 3294e50d..9e8841af 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -255,7 +255,7 @@ void AbstractCommand::tryReserved() {
if(logger->debug()) {
logger->debug("CUID#%d - Trying reserved/pooled request.", cuid);
}
- Commands commands;
+ std::vector<Command*> commands;
_requestGroup->createNextCommand(commands, e, 1);
e->setNoWait(true);
e->addCommand(commands);
@@ -503,7 +503,7 @@ bool AbstractCommand::asyncResolveHostname()
}
}
-const std::deque<std::string>& AbstractCommand::getResolvedAddresses()
+const std::vector<std::string>& AbstractCommand::getResolvedAddresses()
{
return _asyncNameResolver->getResolvedAddresses();
}
@@ -533,10 +533,10 @@ bool AbstractCommand::nameResolveFinished() const {
void AbstractCommand::prepareForNextAction(Command* nextCommand)
{
- CheckIntegrityEntryHandle entry
+ SharedHandle<CheckIntegrityEntry> entry
(new StreamCheckIntegrityEntry(_requestGroup, nextCommand));
- std::deque<Command*> commands;
+ std::vector<Command*> commands;
try {
_requestGroup->processCheckIntegrityEntry(commands, entry, e);
} catch(RecoverableException& e) {
diff --git a/src/AbstractCommand.h b/src/AbstractCommand.h
index fcb49c2d..6028d1fe 100644
--- a/src/AbstractCommand.h
+++ b/src/AbstractCommand.h
@@ -63,7 +63,7 @@ protected:
SharedHandle<FileEntry> _fileEntry;
DownloadEngine* e;
SharedHandle<SocketCore> socket;
- std::deque<SharedHandle<Segment> > _segments;
+ std::vector<SharedHandle<Segment> > _segments;
#ifdef ENABLE_ASYNC_DNS
SharedHandle<AsyncNameResolver> _asyncNameResolver;
@@ -74,7 +74,7 @@ protected:
bool asyncResolveHostname();
- const std::deque<std::string>& getResolvedAddresses();
+ const std::vector<std::string>& getResolvedAddresses();
#endif // ENABLE_ASYNC_DNS
void tryReserved();
diff --git a/src/AbstractProxyRequestCommand.cc b/src/AbstractProxyRequestCommand.cc
index df4e9c65..d870d241 100644
--- a/src/AbstractProxyRequestCommand.cc
+++ b/src/AbstractProxyRequestCommand.cc
@@ -51,7 +51,7 @@ namespace aria2 {
AbstractProxyRequestCommand::AbstractProxyRequestCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e,
@@ -76,7 +76,7 @@ bool AbstractProxyRequestCommand::executeInternal() {
(socket, _connectedHostname, _connectedAddr, _connectedPort)) {
return true;
}
- HttpRequestHandle httpRequest(new HttpRequest());
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
httpRequest->setUserAgent(getOption()->get(PREF_USER_AGENT));
httpRequest->setRequest(req);
httpRequest->setProxyRequest(_proxyRequest);
diff --git a/src/AbstractProxyResponseCommand.cc b/src/AbstractProxyResponseCommand.cc
index b5e40cbe..e04dcc1d 100644
--- a/src/AbstractProxyResponseCommand.cc
+++ b/src/AbstractProxyResponseCommand.cc
@@ -51,7 +51,7 @@ namespace aria2 {
AbstractProxyResponseCommand::AbstractProxyResponseCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const HttpConnectionHandle& httpConnection,
@@ -63,7 +63,7 @@ AbstractProxyResponseCommand::AbstractProxyResponseCommand
AbstractProxyResponseCommand::~AbstractProxyResponseCommand() {}
bool AbstractProxyResponseCommand::executeInternal() {
- HttpResponseHandle httpResponse = httpConnection->receiveResponse();
+ SharedHandle<HttpResponse> httpResponse = httpConnection->receiveResponse();
if(httpResponse.isNull()) {
// the server has not responded our request yet.
e->commands.push_back(this);
diff --git a/src/ActivePeerConnectionCommand.cc b/src/ActivePeerConnectionCommand.cc
index cb53e14a..b7a6585c 100644
--- a/src/ActivePeerConnectionCommand.cc
+++ b/src/ActivePeerConnectionCommand.cc
@@ -114,7 +114,7 @@ bool ActivePeerConnectionCommand::execute() {
for(unsigned int numAdd = numConnection;
numAdd > 0 && _peerStorage->isPeerAvailable(); --numAdd) {
- PeerHandle peer = _peerStorage->getUnusedPeer();
+ SharedHandle<Peer> peer = _peerStorage->getUnusedPeer();
connectToPeer(peer);
}
if(_btRuntime->getConnections() == 0 &&
@@ -127,7 +127,7 @@ bool ActivePeerConnectionCommand::execute() {
return false;
}
-void ActivePeerConnectionCommand::connectToPeer(const PeerHandle& peer)
+void ActivePeerConnectionCommand::connectToPeer(const SharedHandle<Peer>& peer)
{
if(peer.isNull()) {
return;
diff --git a/src/AnnounceList.cc b/src/AnnounceList.cc
index d6f037db..3113a83f 100644
--- a/src/AnnounceList.cc
+++ b/src/AnnounceList.cc
@@ -54,7 +54,8 @@ AnnounceList::AnnounceList(const BDE& announceList):
reconfigure(announceList);
}
-AnnounceList::AnnounceList(const AnnounceTiers& announceTiers):
+AnnounceList::AnnounceList
+(const std::deque<SharedHandle<AnnounceTier> >& announceTiers):
tiers(announceTiers), currentTrackerInitialized(false) {
resetIterator();
}
@@ -77,7 +78,7 @@ void AnnounceList::reconfigure(const BDE& announceList)
}
}
if(!urls.empty()) {
- AnnounceTierHandle tier(new AnnounceTier(urls));
+ SharedHandle<AnnounceTier> tier(new AnnounceTier(urls));
tiers.push_back(tier);
}
}
@@ -88,7 +89,7 @@ void AnnounceList::reconfigure(const BDE& announceList)
void AnnounceList::reconfigure(const std::string& url) {
std::deque<std::string> urls;
urls.push_back(url);
- tiers.push_back(AnnounceTierHandle(new AnnounceTier(urls)));
+ tiers.push_back(SharedHandle<AnnounceTier>(new AnnounceTier(urls)));
resetIterator();
}
@@ -171,7 +172,7 @@ std::string AnnounceList::getEventString() const {
class FindStoppedAllowedTier {
public:
- bool operator()(const AnnounceTierHandle& tier) const {
+ bool operator()(const SharedHandle<AnnounceTier>& tier) const {
switch(tier->event) {
case AnnounceTier::DOWNLOADING:
case AnnounceTier::STOPPED:
@@ -186,7 +187,7 @@ public:
class FindCompletedAllowedTier {
public:
- bool operator()(const AnnounceTierHandle& tier) const {
+ bool operator()(const SharedHandle<AnnounceTier>& tier) const {
switch(tier->event) {
case AnnounceTier::DOWNLOADING:
case AnnounceTier::COMPLETED:
@@ -205,7 +206,8 @@ size_t AnnounceList::countCompletedAllowedTier() const {
return count_if(tiers.begin(), tiers.end(), FindCompletedAllowedTier());
}
-void AnnounceList::setCurrentTier(const AnnounceTiers::iterator& itr) {
+void AnnounceList::setCurrentTier
+(const std::deque<SharedHandle<AnnounceTier> >::iterator& itr) {
if(itr != tiers.end()) {
currentTier = itr;
currentTracker = (*currentTier)->urls.begin();
@@ -224,21 +226,23 @@ find_wrap_if(InputIterator first, InputIterator last,
}
void AnnounceList::moveToStoppedAllowedTier() {
- AnnounceTiers::iterator itr = find_wrap_if(tiers.begin(), tiers.end(),
- currentTier,
- FindStoppedAllowedTier());
+ std::deque<SharedHandle<AnnounceTier> >::iterator itr =
+ find_wrap_if(tiers.begin(), tiers.end(),
+ currentTier,
+ FindStoppedAllowedTier());
setCurrentTier(itr);
}
void AnnounceList::moveToCompletedAllowedTier() {
- AnnounceTiers::iterator itr = find_wrap_if(tiers.begin(), tiers.end(),
- currentTier,
- FindCompletedAllowedTier());
+ std::deque<SharedHandle<AnnounceTier> >::iterator itr =
+ find_wrap_if(tiers.begin(), tiers.end(),
+ currentTier,
+ FindCompletedAllowedTier());
setCurrentTier(itr);
}
void AnnounceList::shuffle() {
- for(AnnounceTiers::iterator itr = tiers.begin();
+ for(std::deque<SharedHandle<AnnounceTier> >::iterator itr = tiers.begin();
itr != tiers.end(); ++itr) {
std::deque<std::string>& urls = (*itr)->urls;
std::random_shuffle(urls.begin(), urls.end(),
diff --git a/src/AnnounceTier.h b/src/AnnounceTier.h
index c45bf89c..0387e83c 100644
--- a/src/AnnounceTier.h
+++ b/src/AnnounceTier.h
@@ -93,9 +93,6 @@ public:
}
};
-typedef SharedHandle<AnnounceTier> AnnounceTierHandle;
-typedef std::deque<AnnounceTierHandle> AnnounceTiers;
-
} // namespace aria2
#endif // _D_ANNOUNCE_TIER_H_
diff --git a/src/AsyncNameResolver.h b/src/AsyncNameResolver.h
index bae2f769..ba643b9c 100644
--- a/src/AsyncNameResolver.h
+++ b/src/AsyncNameResolver.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
#include <ares.h>
@@ -65,7 +65,7 @@ private:
STATUS status;
ares_channel channel;
- std::deque<std::string> _resolvedAddresses;
+ std::vector<std::string> _resolvedAddresses;
std::string error;
std::string _hostname;
public:
@@ -75,7 +75,7 @@ public:
void resolve(const std::string& name);
- const std::deque<std::string>& getResolvedAddresses() const
+ const std::vector<std::string>& getResolvedAddresses() const
{
return _resolvedAddresses;
}
diff --git a/src/AuthConfigFactory.cc b/src/AuthConfigFactory.cc
index 1f85f5bc..876405ba 100644
--- a/src/AuthConfigFactory.cc
+++ b/src/AuthConfigFactory.cc
@@ -162,7 +162,7 @@ AuthResolverHandle AuthConfigFactory::createFtpAuthResolver
return resolver;
}
-void AuthConfigFactory::setNetrc(const NetrcHandle& netrc)
+void AuthConfigFactory::setNetrc(const SharedHandle<Netrc>& netrc)
{
_netrc = netrc;
}
diff --git a/src/BDE.h b/src/BDE.h
index 2f40a5a0..939a7237 100644
--- a/src/BDE.h
+++ b/src/BDE.h
@@ -39,7 +39,7 @@
#include <map>
#include <string>
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "DlAbortEx.h"
@@ -51,7 +51,7 @@ class BDE;
class BDE {
public:
typedef std::map<std::string, BDE> Dict;
- typedef std::deque<BDE> List;
+ typedef std::vector<BDE> List;
typedef int64_t Integer;
private:
enum TYPE{
diff --git a/src/BNode.cc b/src/BNode.cc
index 218b08e7..fdc3c436 100644
--- a/src/BNode.cc
+++ b/src/BNode.cc
@@ -33,11 +33,13 @@
*/
/* copyright --> */
#include "BNode.h"
-#include "DHTBucket.h"
-#include "DHTNode.h"
+
#include <functional>
#include <algorithm>
+#include "DHTBucket.h"
+#include "DHTNode.h"
+
namespace aria2 {
BNode::BNode(const SharedHandle<DHTBucket>& bucket):
@@ -114,7 +116,7 @@ SharedHandle<DHTBucket> BNode::findBucketFor(BNode* b, const unsigned char* key)
}
-void BNode::findClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
+void BNode::findClosestKNodes(std::vector<SharedHandle<DHTNode> >& nodes,
BNode* b, const unsigned char* key)
{
BNode* bnode = findBNodeFor(b, key);
@@ -128,7 +130,7 @@ void BNode::findClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
if(nodes.size() >= DHTBucket::K) {
return;
}
- std::deque<const BNode*> visited;
+ std::vector<const BNode*> visited;
visited.push_back(bnode);
BNode* up = bnode->getUp();
@@ -163,7 +165,7 @@ void BNode::findClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
{
SharedHandle<DHTBucket> bucket = bnode->getBucket();
if(!bucket.isNull()) {
- std::deque<SharedHandle<DHTNode> > goodNodes;
+ std::vector<SharedHandle<DHTNode> > goodNodes;
bucket->getGoodNodes(goodNodes);
size_t r = DHTBucket::K-nodes.size();
if(goodNodes.size() <= r) {
@@ -176,10 +178,10 @@ void BNode::findClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
}
}
-void BNode::enumerateBucket(std::deque<SharedHandle<DHTBucket> >& buckets,
+void BNode::enumerateBucket(std::vector<SharedHandle<DHTBucket> >& buckets,
const BNode* b)
{
- std::deque<const BNode*> visited;
+ std::vector<const BNode*> visited;
visited.push_back(b);
while(1) {
if(!b) {
diff --git a/src/BNode.h b/src/BNode.h
index 740d3a6d..dfcb601b 100644
--- a/src/BNode.h
+++ b/src/BNode.h
@@ -36,8 +36,10 @@
#define _D_BNODE_H_
#include "common.h"
+
+#include <vector>
+
#include "SharedHandle.h"
-#include <deque>
namespace aria2 {
@@ -93,10 +95,10 @@ public:
static SharedHandle<DHTBucket> findBucketFor(BNode* b, const unsigned char* key);
- static void findClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
+ static void findClosestKNodes(std::vector<SharedHandle<DHTNode> >& nodes,
BNode* b, const unsigned char* key);
- static void enumerateBucket(std::deque<SharedHandle<DHTBucket> >& buckets,
+ static void enumerateBucket(std::vector<SharedHandle<DHTBucket> >& buckets,
const BNode* b);
};
diff --git a/src/BitfieldMan.h b/src/BitfieldMan.h
index 489cecba..5e8742ef 100644
--- a/src/BitfieldMan.h
+++ b/src/BitfieldMan.h
@@ -36,10 +36,11 @@
#define _D_BITFIELD_MAN_H_
#include "common.h"
-#include "SharedHandle.h"
-#include <deque>
+
#include <vector>
+#include "SharedHandle.h"
+
namespace aria2 {
class BitfieldMan {
diff --git a/src/BtBitfieldMessageValidator.h b/src/BtBitfieldMessageValidator.h
index 259cb1de..cc59fc7b 100644
--- a/src/BtBitfieldMessageValidator.h
+++ b/src/BtBitfieldMessageValidator.h
@@ -51,12 +51,11 @@ public:
message(message),
numPiece(numPiece) {}
- virtual bool validate(Errors& error) {
- // TODO
+ virtual void validate()
+ {
bittorrent::checkBitfield(message->getBitfield(),
message->getBitfieldLength(),
numPiece);
- return true;
}
};
diff --git a/src/BtCheckIntegrityEntry.cc b/src/BtCheckIntegrityEntry.cc
index a5d1bf64..dc712c07 100644
--- a/src/BtCheckIntegrityEntry.cc
+++ b/src/BtCheckIntegrityEntry.cc
@@ -49,8 +49,8 @@ BtCheckIntegrityEntry::BtCheckIntegrityEntry(RequestGroup* requestGroup):
BtCheckIntegrityEntry::~BtCheckIntegrityEntry() {}
-void BtCheckIntegrityEntry::onDownloadIncomplete(std::deque<Command*>& commands,
- DownloadEngine* e)
+void BtCheckIntegrityEntry::onDownloadIncomplete
+(std::vector<Command*>& commands, DownloadEngine* e)
{
const SharedHandle<DiskAdaptor>& diskAdaptor =
_requestGroup->getPieceStorage()->getDiskAdaptor();
@@ -65,8 +65,8 @@ void BtCheckIntegrityEntry::onDownloadIncomplete(std::deque<Command*>& commands,
proceedFileAllocation(commands, entry, e);
}
-void BtCheckIntegrityEntry::onDownloadFinished(std::deque<Command*>& commands,
- DownloadEngine* e)
+void BtCheckIntegrityEntry::onDownloadFinished
+(std::vector<Command*>& commands, DownloadEngine* e)
{
// TODO Currently,when all the checksums
// are valid, then aira2 goes to seeding mode. Sometimes it is better
diff --git a/src/BtCheckIntegrityEntry.h b/src/BtCheckIntegrityEntry.h
index f3f40ef4..fb5d1829 100644
--- a/src/BtCheckIntegrityEntry.h
+++ b/src/BtCheckIntegrityEntry.h
@@ -45,10 +45,10 @@ public:
virtual ~BtCheckIntegrityEntry();
- virtual void onDownloadFinished(std::deque<Command*>& commands,
+ virtual void onDownloadFinished(std::vector<Command*>& commands,
DownloadEngine* e);
- virtual void onDownloadIncomplete(std::deque<Command*>& commands,
+ virtual void onDownloadIncomplete(std::vector<Command*>& commands,
DownloadEngine* e);
};
diff --git a/src/BtDependency.cc b/src/BtDependency.cc
index 3c70804c..ceb13e3a 100644
--- a/src/BtDependency.cc
+++ b/src/BtDependency.cc
@@ -51,8 +51,8 @@
namespace aria2 {
-BtDependency::BtDependency(const RequestGroupWeakHandle& dependant,
- const RequestGroupHandle& dependee):
+BtDependency::BtDependency(const WeakHandle<RequestGroup>& dependant,
+ const SharedHandle<RequestGroup>& dependee):
_dependant(dependant),
_dependee(dependee),
_logger(LogFactory::getInstance()) {}
@@ -74,13 +74,13 @@ static void copyValues(const SharedHandle<FileEntry>& d,
bool BtDependency::resolve()
{
if(_dependee->getNumCommand() == 0 && _dependee->downloadFinished()) {
- RequestGroupHandle dependee = _dependee;
+ SharedHandle<RequestGroup> dependee = _dependee;
// cut reference here
_dependee.reset();
SharedHandle<DownloadContext> context(new DownloadContext());
context->setDir(_dependant->getDownloadContext()->getDir());
try {
- DiskAdaptorHandle diskAdaptor =
+ SharedHandle<DiskAdaptor> diskAdaptor =
dependee->getPieceStorage()->getDiskAdaptor();
diskAdaptor->openExistingFile();
std::string content = util::toString(diskAdaptor);
diff --git a/src/BtExtendedMessage.cc b/src/BtExtendedMessage.cc
index 465593d1..2f51068e 100644
--- a/src/BtExtendedMessage.cc
+++ b/src/BtExtendedMessage.cc
@@ -99,7 +99,7 @@ std::string BtExtendedMessage::toString() const {
BtExtendedMessageHandle
BtExtendedMessage::create(const SharedHandle<ExtensionMessageFactory>& factory,
- const PeerHandle& peer,
+ const SharedHandle<Peer>& peer,
const unsigned char* data, size_t dataLength)
{
bittorrent::assertPayloadLengthGreater(1, dataLength, NAME);
diff --git a/src/BtFileAllocationEntry.cc b/src/BtFileAllocationEntry.cc
index d5f66308..a76dfbda 100644
--- a/src/BtFileAllocationEntry.cc
+++ b/src/BtFileAllocationEntry.cc
@@ -49,8 +49,8 @@ BtFileAllocationEntry::BtFileAllocationEntry(RequestGroup* requestGroup):
BtFileAllocationEntry::~BtFileAllocationEntry() {}
-void BtFileAllocationEntry::prepareForNextAction(std::deque<Command*>& commands,
- DownloadEngine* e)
+void BtFileAllocationEntry::prepareForNextAction
+(std::vector<Command*>& commands, DownloadEngine* e)
{
BtSetup().setup(commands, _requestGroup, e, _requestGroup->getOption().get());
if(!_requestGroup->downloadFinished()) {
diff --git a/src/BtFileAllocationEntry.h b/src/BtFileAllocationEntry.h
index 61007219..252036f4 100644
--- a/src/BtFileAllocationEntry.h
+++ b/src/BtFileAllocationEntry.h
@@ -45,7 +45,7 @@ public:
virtual ~BtFileAllocationEntry();
- virtual void prepareForNextAction(std::deque<Command*>& commands,
+ virtual void prepareForNextAction(std::vector<Command*>& commands,
DownloadEngine* e);
};
diff --git a/src/BtHandshakeMessageValidator.h b/src/BtHandshakeMessageValidator.h
index a893d708..37a97631 100644
--- a/src/BtHandshakeMessageValidator.h
+++ b/src/BtHandshakeMessageValidator.h
@@ -57,8 +57,8 @@ public:
memcpy(this->infoHash, infoHash, sizeof(this->infoHash));
}
- virtual bool validate(Errors& error) {
- // TODO
+ virtual void validate()
+ {
if(message->getPstrlen() != 19) {
throw DL_ABORT_EX(StringFormat("invalid handshake pstrlen=%u",
message->getPstrlen()).str());
@@ -74,7 +74,6 @@ public:
util::toHex(infoHash, 20).c_str(),
util::toHex(message->getInfoHash(), 20).c_str()).str());
}
- return true;
}
};
diff --git a/src/BtLeecherStateChoke.cc b/src/BtLeecherStateChoke.cc
index 1e780476..60297f4d 100644
--- a/src/BtLeecherStateChoke.cc
+++ b/src/BtLeecherStateChoke.cc
@@ -120,12 +120,12 @@ public:
};
void BtLeecherStateChoke::plannedOptimisticUnchoke
-(std::deque<PeerEntry>& peerEntries)
+(std::vector<PeerEntry>& peerEntries)
{
std::for_each(peerEntries.begin(), peerEntries.end(),
std::mem_fun_ref(&PeerEntry::disableOptUnchoking));
- std::deque<PeerEntry>::iterator i =
+ std::vector<PeerEntry>::iterator i =
std::partition(peerEntries.begin(), peerEntries.end(),
PeerFilter(true, true));
if(i != peerEntries.begin()) {
@@ -136,9 +136,9 @@ void BtLeecherStateChoke::plannedOptimisticUnchoke
}
}
-void BtLeecherStateChoke::regularUnchoke(std::deque<PeerEntry>& peerEntries)
+void BtLeecherStateChoke::regularUnchoke(std::vector<PeerEntry>& peerEntries)
{
- std::deque<PeerEntry>::iterator rest =
+ std::vector<PeerEntry>::iterator rest =
std::partition(peerEntries.begin(), peerEntries.end(),
std::mem_fun_ref(&PeerEntry::isRegularUnchoker));
@@ -151,7 +151,7 @@ void BtLeecherStateChoke::regularUnchoke(std::deque<PeerEntry>& peerEntries)
int count = 3;
bool fastOptUnchoker = false;
- std::deque<PeerEntry>::iterator peerIter = peerEntries.begin();
+ std::vector<PeerEntry>::iterator peerIter = peerEntries.begin();
for(;peerIter != rest && count; ++peerIter, --count) {
(*peerIter).disableChokingRequired();
_logger->info("RU: %s, dlspd=%u",
@@ -165,7 +165,7 @@ void BtLeecherStateChoke::regularUnchoke(std::deque<PeerEntry>& peerEntries)
if(fastOptUnchoker) {
std::random_shuffle(peerIter, peerEntries.end(),
*(SimpleRandomizer::getInstance().get()));
- for(std::deque<PeerEntry>::iterator i = peerIter; i != peerEntries.end();
+ for(std::vector<PeerEntry>::iterator i = peerIter; i != peerEntries.end();
++i) {
if((*i).getPeer()->peerInterested()) {
(*i).enableOptUnchoking();
@@ -196,12 +196,13 @@ public:
};
void
-BtLeecherStateChoke::executeChoke(const std::deque<SharedHandle<Peer> >& peerSet)
+BtLeecherStateChoke::executeChoke
+(const std::vector<SharedHandle<Peer> >& peerSet)
{
_logger->info("Leecher state, %d choke round started", _round);
_lastRound.reset();
- std::deque<PeerEntry> peerEntries;
+ std::vector<PeerEntry> peerEntries;
std::transform(peerSet.begin(), peerSet.end(),
std::back_inserter(peerEntries),
BtLeecherStateChokeGenPeerEntry());
diff --git a/src/BtLeecherStateChoke.h b/src/BtLeecherStateChoke.h
index 21b37540..06292b9b 100644
--- a/src/BtLeecherStateChoke.h
+++ b/src/BtLeecherStateChoke.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "TimeA2.h"
@@ -82,9 +82,9 @@ private:
void disableOptUnchoking();
};
- void plannedOptimisticUnchoke(std::deque<PeerEntry>& peerEntries);
+ void plannedOptimisticUnchoke(std::vector<PeerEntry>& peerEntries);
- void regularUnchoke(std::deque<PeerEntry>& peerEntries);
+ void regularUnchoke(std::vector<PeerEntry>& peerEntries);
friend class PeerFilter;
friend class BtLeecherStateChokeGenPeerEntry;
@@ -93,7 +93,7 @@ public:
~BtLeecherStateChoke();
- void executeChoke(const std::deque<SharedHandle<Peer> >& peerSet);
+ void executeChoke(const std::vector<SharedHandle<Peer> >& peerSet);
const Time& getLastRound() const;
};
diff --git a/src/BtMessage.h b/src/BtMessage.h
index 1ac37429..970e7514 100644
--- a/src/BtMessage.h
+++ b/src/BtMessage.h
@@ -38,7 +38,6 @@
#include "common.h"
#include <string>
-#include <deque>
#include "SharedHandle.h"
#include "BtAbortOutstandingRequestEvent.h"
@@ -69,7 +68,7 @@ public:
virtual void send() = 0;
- virtual bool validate(std::deque<std::string>& errors) = 0;
+ virtual void validate() = 0;
virtual void onAbortOutstandingRequestEvent
(const BtAbortOutstandingRequestEvent& event) = 0;
@@ -86,7 +85,6 @@ public:
};
typedef SharedHandle<BtMessage> BtMessageHandle;
-typedef std::deque<BtMessageHandle> BtMessages;
} // namespace aria2
diff --git a/src/BtMessageDispatcher.h b/src/BtMessageDispatcher.h
index ccd8d762..7d231be0 100644
--- a/src/BtMessageDispatcher.h
+++ b/src/BtMessageDispatcher.h
@@ -36,9 +36,11 @@
#define _D_BT_MESSAGE_DISPATCHER_H_
#include "common.h"
+
+#include <vector>
+
#include "SharedHandle.h"
#include "RequestSlot.h"
-#include <deque>
namespace aria2 {
@@ -52,7 +54,7 @@ public:
virtual void addMessageToQueue(const SharedHandle<BtMessage>& btMessage) = 0;
virtual void
- addMessageToQueue(const std::deque<SharedHandle<BtMessage> >& btMessages) = 0;
+ addMessageToQueue(const std::vector<SharedHandle<BtMessage> >& btMessages) =0;
virtual void sendMessages() = 0;
diff --git a/src/BtMessageValidator.h b/src/BtMessageValidator.h
index e95c6cee..e865f627 100644
--- a/src/BtMessageValidator.h
+++ b/src/BtMessageValidator.h
@@ -36,19 +36,19 @@
#define _D_BT_MESSAGE_VALIDATOR_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <string>
-#include <deque>
-namespace aria2 {
+#include "SharedHandle.h"
-typedef std::deque<std::string> Errors;
+namespace aria2 {
class BtMessageValidator {
public:
virtual ~BtMessageValidator() {}
- virtual bool validate(Errors& errors) = 0;
+ // Throws RecoverableException on error.
+ virtual void validate() = 0;
};
typedef SharedHandle<BtMessageValidator> BtMessageValidatorHandle;
diff --git a/src/BtPieceMessage.cc b/src/BtPieceMessage.cc
index 93520f7e..264c1155 100644
--- a/src/BtPieceMessage.cc
+++ b/src/BtPieceMessage.cc
@@ -86,7 +86,7 @@ void BtPieceMessage::doReceivedAction() {
peer->updateDownloadLength(blockLength);
if(!RequestSlot::isNull(slot)) {
peer->snubbing(false);
- PieceHandle piece = pieceStorage->getPiece(index);
+ SharedHandle<Piece> piece = pieceStorage->getPiece(index);
off_t offset = (off_t)index*_downloadContext->getPieceLength()+begin;
if(logger->debug()) {
logger->debug(MSG_PIECE_RECEIVED,
@@ -183,7 +183,7 @@ std::string BtPieceMessage::toString() const {
util::itos(begin), ", length=", util::itos(blockLength));
}
-bool BtPieceMessage::checkPieceHash(const PieceHandle& piece) {
+bool BtPieceMessage::checkPieceHash(const SharedHandle<Piece>& piece) {
if(piece->isHashCalculated()) {
if(logger->debug()) {
logger->debug("Hash is available!! index=%lu",
@@ -199,13 +199,13 @@ bool BtPieceMessage::checkPieceHash(const PieceHandle& piece) {
}
}
-void BtPieceMessage::onNewPiece(const PieceHandle& piece) {
+void BtPieceMessage::onNewPiece(const SharedHandle<Piece>& piece) {
logger->info(MSG_GOT_NEW_PIECE, cuid, piece->getIndex());
pieceStorage->completePiece(piece);
pieceStorage->advertisePiece(cuid, piece->getIndex());
}
-void BtPieceMessage::onWrongPiece(const PieceHandle& piece) {
+void BtPieceMessage::onWrongPiece(const SharedHandle<Piece>& piece) {
logger->info(MSG_GOT_WRONG_PIECE, cuid, piece->getIndex());
erasePieceOnDisk(piece);
piece->clearAllBlock();
@@ -213,7 +213,7 @@ void BtPieceMessage::onWrongPiece(const PieceHandle& piece) {
requestFactory->removeTargetPiece(piece);
}
-void BtPieceMessage::erasePieceOnDisk(const PieceHandle& piece) {
+void BtPieceMessage::erasePieceOnDisk(const SharedHandle<Piece>& piece) {
size_t BUFSIZE = 4096;
unsigned char buf[BUFSIZE];
memset(buf, 0, BUFSIZE);
diff --git a/src/BtPieceMessageValidator.h b/src/BtPieceMessageValidator.h
index dd3afd45..7813d834 100644
--- a/src/BtPieceMessageValidator.h
+++ b/src/BtPieceMessageValidator.h
@@ -54,11 +54,10 @@ public:
numPiece(numPiece),
pieceLength(pieceLength) {}
- virtual bool validate(Errors& error) {
- // TODO
+ virtual void validate()
+ {
bittorrent::checkIndex(message->getIndex(), numPiece);
bittorrent::checkBegin(message->getBegin(), pieceLength);
- return true;
}
};
diff --git a/src/BtPostDownloadHandler.cc b/src/BtPostDownloadHandler.cc
index dcd86da6..0281e9f6 100644
--- a/src/BtPostDownloadHandler.cc
+++ b/src/BtPostDownloadHandler.cc
@@ -63,7 +63,7 @@ BtPostDownloadHandler::BtPostDownloadHandler()
BtPostDownloadHandler::~BtPostDownloadHandler() {}
void BtPostDownloadHandler::getNextRequestGroups
-(std::deque<SharedHandle<RequestGroup> >& groups,
+(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup)
{
_logger->info("Generating RequestGroups for Torrent file %s",
@@ -77,9 +77,9 @@ void BtPostDownloadHandler::getNextRequestGroups
requestGroup->getPieceStorage()->getDiskAdaptor()->closeFile();
throw;
}
- std::deque<SharedHandle<RequestGroup> > newRgs;
+ std::vector<SharedHandle<RequestGroup> > newRgs;
createRequestGroupForBitTorrent(newRgs, requestGroup->getOption(),
- std::deque<std::string>(),
+ std::vector<std::string>(),
content);
requestGroup->followedBy(newRgs.begin(), newRgs.end());
groups.insert(groups.end(), newRgs.begin(), newRgs.end());
diff --git a/src/BtPostDownloadHandler.h b/src/BtPostDownloadHandler.h
index b76374d1..c767da28 100644
--- a/src/BtPostDownloadHandler.h
+++ b/src/BtPostDownloadHandler.h
@@ -47,12 +47,10 @@ public:
virtual ~BtPostDownloadHandler();
virtual void
- getNextRequestGroups(std::deque<SharedHandle<RequestGroup> >& groups,
+ getNextRequestGroups(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup);
};
-typedef SharedHandle<BtPostDownloadHandler> BtPostDownloadHandlerHandle;
-
} // namespace aria2
#endif // _D_BT_POST_DOWNLOAD_HANDLER_H_
diff --git a/src/BtRequestFactory.h b/src/BtRequestFactory.h
index 0c1163fb..51f0df6a 100644
--- a/src/BtRequestFactory.h
+++ b/src/BtRequestFactory.h
@@ -36,8 +36,10 @@
#define _D_BT_REQUEST_FACTORY_H_
#include "common.h"
+
+#include <vector>
+
#include "SharedHandle.h"
-#include <deque>
namespace aria2 {
@@ -68,20 +70,20 @@ public:
* The number of objects returned is capped by max.
*/
virtual void createRequestMessages
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max) = 0;
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max) = 0;
/**
* Use this method in end game mode.
*
*/
virtual void createRequestMessagesOnEndGame
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max) = 0;
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max) = 0;
/**
* Stores the list of index of pieces added using addTargetPiece() into
* indexes.
*/
- virtual void getTargetPieceIndexes(std::deque<size_t>& indexes) const = 0;
+ virtual void getTargetPieceIndexes(std::vector<size_t>& indexes) const = 0;
};
diff --git a/src/BtSeederStateChoke.cc b/src/BtSeederStateChoke.cc
index 1af79eca..d5886339 100644
--- a/src/BtSeederStateChoke.cc
+++ b/src/BtSeederStateChoke.cc
@@ -83,13 +83,13 @@ void BtSeederStateChoke::PeerEntry::disableOptUnchoking()
}
void BtSeederStateChoke::unchoke
-(std::deque<BtSeederStateChoke::PeerEntry>& peers)
+(std::vector<BtSeederStateChoke::PeerEntry>& peers)
{
int count = (_round == 2) ? 4 : 3;
std::sort(peers.begin(), peers.end());
- std::deque<PeerEntry>::iterator r = peers.begin();
+ std::vector<PeerEntry>::iterator r = peers.begin();
for(; r != peers.end() && count; ++r, --count) {
(*r).getPeer()->chokingRequired(false);
_logger->info("RU: %s, ulspd=%u", (*r).getPeer()->ipaddr.c_str(),
@@ -140,12 +140,13 @@ public:
};
void
-BtSeederStateChoke::executeChoke(const std::deque<SharedHandle<Peer> >& peerSet)
+BtSeederStateChoke::executeChoke
+(const std::vector<SharedHandle<Peer> >& peerSet)
{
_logger->info("Seeder state, %d choke round started", _round);
_lastRound.reset();
- std::deque<PeerEntry> peerEntries;
+ std::vector<PeerEntry> peerEntries;
std::for_each(peerSet.begin(), peerSet.end(), ChokingRequired());
diff --git a/src/BtSeederStateChoke.h b/src/BtSeederStateChoke.h
index edf7e04f..8acc8833 100644
--- a/src/BtSeederStateChoke.h
+++ b/src/BtSeederStateChoke.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "TimeA2.h"
@@ -76,7 +76,7 @@ private:
void disableOptUnchoking();
};
- void unchoke(std::deque<PeerEntry>& peers);
+ void unchoke(std::vector<PeerEntry>& peers);
friend class GenPeerEntry;
friend class NotInterestedPeer;
@@ -85,7 +85,7 @@ public:
~BtSeederStateChoke();
- void executeChoke(const std::deque<SharedHandle<Peer> >& peerSet);
+ void executeChoke(const std::vector<SharedHandle<Peer> >& peerSet);
const Time& getLastRound() const { return _lastRound; }
};
diff --git a/src/BtSetup.cc b/src/BtSetup.cc
index b6799b73..d34e7d8b 100644
--- a/src/BtSetup.cc
+++ b/src/BtSetup.cc
@@ -74,7 +74,7 @@ namespace aria2 {
BtSetup::BtSetup():_logger(LogFactory::getInstance()) {}
-void BtSetup::setup(std::deque<Command*>& commands,
+void BtSetup::setup(std::vector<Command*>& commands,
RequestGroup* requestGroup,
DownloadEngine* e,
const Option* option)
diff --git a/src/BtSetup.h b/src/BtSetup.h
index 4bf79524..2d22fcc9 100644
--- a/src/BtSetup.h
+++ b/src/BtSetup.h
@@ -36,7 +36,7 @@
#define _D_BT_SETUP_H_
#include "common.h"
-#include <deque>
+#include <vector>
namespace aria2 {
@@ -52,7 +52,7 @@ private:
public:
BtSetup();
- void setup(std::deque<Command*>& commands,
+ void setup(std::vector<Command*>& commands,
RequestGroup* requestGroup,
DownloadEngine* e,
const Option* option);
diff --git a/src/CheckIntegrityCommand.cc b/src/CheckIntegrityCommand.cc
index dc9d155f..00d8c354 100644
--- a/src/CheckIntegrityCommand.cc
+++ b/src/CheckIntegrityCommand.cc
@@ -47,7 +47,7 @@ namespace aria2 {
CheckIntegrityCommand::CheckIntegrityCommand
(int32_t cuid, RequestGroup* requestGroup, DownloadEngine* e,
- const CheckIntegrityEntryHandle& entry):
+ const SharedHandle<CheckIntegrityEntry>& entry):
RealtimeCommand(cuid, requestGroup, e),
_entry(entry)
{}
@@ -69,7 +69,7 @@ bool CheckIntegrityCommand::executeInternal()
if(_requestGroup->downloadFinished()) {
logger->notice(MSG_VERIFICATION_SUCCESSFUL,
_requestGroup->getDownloadContext()->getBasePath().c_str());
- std::deque<Command*> commands;
+ std::vector<Command*> commands;
try {
_entry->onDownloadFinished(commands, _e);
} catch(RecoverableException& e) {
@@ -80,7 +80,7 @@ bool CheckIntegrityCommand::executeInternal()
} else {
logger->error(MSG_VERIFICATION_FAILED,
_requestGroup->getDownloadContext()->getBasePath().c_str());
- std::deque<Command*> commands;
+ std::vector<Command*> commands;
try {
_entry->onDownloadIncomplete(commands,_e);
} catch(RecoverableException& e) {
diff --git a/src/CheckIntegrityEntry.cc b/src/CheckIntegrityEntry.cc
index 34413ffb..a5cc9ff6 100644
--- a/src/CheckIntegrityEntry.cc
+++ b/src/CheckIntegrityEntry.cc
@@ -86,7 +86,7 @@ void CheckIntegrityEntry::cutTrailingGarbage()
}
void CheckIntegrityEntry::proceedFileAllocation
-(std::deque<Command*>& commands,
+(std::vector<Command*>& commands,
const SharedHandle<FileAllocationEntry>& entry,
DownloadEngine* e)
{
diff --git a/src/CheckIntegrityEntry.h b/src/CheckIntegrityEntry.h
index 899d1728..6c7110cb 100644
--- a/src/CheckIntegrityEntry.h
+++ b/src/CheckIntegrityEntry.h
@@ -37,7 +37,8 @@
#include "RequestGroupEntry.h"
#include "ProgressAwareEntry.h"
-#include <deque>
+
+#include <vector>
namespace aria2 {
@@ -50,7 +51,7 @@ class CheckIntegrityEntry : public RequestGroupEntry,
protected:
SharedHandle<IteratableValidator> _validator;
- void proceedFileAllocation(std::deque<Command*>& commands,
+ void proceedFileAllocation(std::vector<Command*>& commands,
const SharedHandle<FileAllocationEntry>& entry,
DownloadEngine* e);
public:
@@ -70,18 +71,15 @@ public:
virtual void initValidator() = 0;
- virtual void onDownloadFinished(std::deque<Command*>& commands,
+ virtual void onDownloadFinished(std::vector<Command*>& commands,
DownloadEngine* e) = 0;
- virtual void onDownloadIncomplete(std::deque<Command*>& commands,
+ virtual void onDownloadIncomplete(std::vector<Command*>& commands,
DownloadEngine* e) = 0;
void cutTrailingGarbage();
};
-typedef SharedHandle<CheckIntegrityEntry> CheckIntegrityEntryHandle;
-typedef std::deque<CheckIntegrityEntryHandle> CheckIntegrityEntries;
-
} // namespace aria2
#endif // _D_CHECK_INTEGRITY_ENTRY_H_
diff --git a/src/ChecksumCheckIntegrityEntry.cc b/src/ChecksumCheckIntegrityEntry.cc
index 64cf72a2..482b00da 100644
--- a/src/ChecksumCheckIntegrityEntry.cc
+++ b/src/ChecksumCheckIntegrityEntry.cc
@@ -62,13 +62,13 @@ void ChecksumCheckIntegrityEntry::initValidator()
}
void
-ChecksumCheckIntegrityEntry::onDownloadFinished(std::deque<Command*>& commands,
- DownloadEngine* e)
+ChecksumCheckIntegrityEntry::onDownloadFinished
+(std::vector<Command*>& commands, DownloadEngine* e)
{}
void
-ChecksumCheckIntegrityEntry::onDownloadIncomplete(std::deque<Command*>& commands,
- DownloadEngine* e)
+ChecksumCheckIntegrityEntry::onDownloadIncomplete
+(std::vector<Command*>& commands, DownloadEngine* e)
{}
} // namespace aria2
diff --git a/src/ChecksumCheckIntegrityEntry.h b/src/ChecksumCheckIntegrityEntry.h
index ae30b206..41a8d475 100644
--- a/src/ChecksumCheckIntegrityEntry.h
+++ b/src/ChecksumCheckIntegrityEntry.h
@@ -50,10 +50,10 @@ public:
virtual void initValidator();
- virtual void onDownloadFinished(std::deque<Command*>& commands,
+ virtual void onDownloadFinished(std::vector<Command*>& commands,
DownloadEngine* e);
- virtual void onDownloadIncomplete(std::deque<Command*>& commands,
+ virtual void onDownloadIncomplete(std::vector<Command*>& commands,
DownloadEngine* e);
};
diff --git a/src/Command.h b/src/Command.h
index e4bd42a9..34647ada 100644
--- a/src/Command.h
+++ b/src/Command.h
@@ -37,7 +37,6 @@
#include "common.h"
#include <stdint.h>
-#include <deque>
namespace aria2 {
@@ -105,8 +104,6 @@ public:
void clearIOEvents();
};
-typedef std::deque<Command*> Commands;
-
} // namespace aria2
#endif // _D_COMMAND_H_
diff --git a/src/ConsoleStatCalc.cc b/src/ConsoleStatCalc.cc
index 4ea7e976..b2d959fa 100644
--- a/src/ConsoleStatCalc.cc
+++ b/src/ConsoleStatCalc.cc
@@ -120,7 +120,7 @@ static void printProgress
SharedHandle<PeerStorage> ps =
e->getBtRegistry()->get(rg->getGID())._peerStorage;
if(!ps.isNull()) {
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
ps->getActivePeers(peers);
o << " " << "SEED:"
<< countSeeder(peers.begin(), peers.end());
@@ -250,7 +250,8 @@ ConsoleStatCalc::calculateStat(const DownloadEngine* e)
std::cout << "\n";
}
- RequestGroupHandle firstRequestGroup = e->_requestGroupMan->getRequestGroup(0);
+ SharedHandle<RequestGroup> firstRequestGroup =
+ e->_requestGroupMan->getRequestGroup(0);
printProgress(o, firstRequestGroup, e, sizeFormatter);
@@ -297,7 +298,8 @@ ConsoleStatCalc::calculateStat(const DownloadEngine* e)
}
#ifdef ENABLE_MESSAGE_DIGEST
{
- CheckIntegrityEntryHandle entry = e->_checkIntegrityMan->getPickedEntry();
+ SharedHandle<CheckIntegrityEntry> entry =
+ e->_checkIntegrityMan->getPickedEntry();
if(!entry.isNull()) {
o << " "
<< "[Checksum:"
diff --git a/src/Cookie.h b/src/Cookie.h
index 3b667273..04acc8de 100644
--- a/src/Cookie.h
+++ b/src/Cookie.h
@@ -38,7 +38,6 @@
#include "common.h"
#include <string>
-#include <deque>
#include "a2time.h"
@@ -155,8 +154,6 @@ public:
static std::string normalizeDomain(const std::string& domain);
};
-typedef std::deque<Cookie> Cookies;
-
} // namespace aria2
#endif // _D_COOKIE_H_
diff --git a/src/CookieStorage.cc b/src/CookieStorage.cc
index 8d99bf89..2e584f0b 100644
--- a/src/CookieStorage.cc
+++ b/src/CookieStorage.cc
@@ -140,14 +140,6 @@ bool CookieStorage::store(const Cookie& cookie)
return added;
}
-void CookieStorage::storeCookies(const std::deque<Cookie>& cookies)
-{
- for(std::deque<Cookie>::const_iterator i = cookies.begin();
- i != cookies.end(); ++i) {
- store(*i);
- }
-}
-
bool CookieStorage::parseAndStore(const std::string& setCookieString,
const std::string& requestHost,
const std::string& requestPath)
@@ -240,11 +232,11 @@ bool CookieStorage::contains(const Cookie& cookie) const
}
}
-std::deque<Cookie> CookieStorage::criteriaFind(const std::string& requestHost,
+std::vector<Cookie> CookieStorage::criteriaFind(const std::string& requestHost,
const std::string& requestPath,
time_t date, bool secure)
{
- std::deque<Cookie> res;
+ std::vector<Cookie> res;
bool numericHost = util::isNumericHost(requestHost);
searchCookieByDomainSuffix
((!numericHost && requestHost.find(A2STR::DOT_C) == std::string::npos)?
@@ -307,14 +299,16 @@ bool CookieStorage::load(const std::string& filename)
try {
if(std::string(header) == "SQLite format 3") {
#ifdef HAVE_SQLITE3
- storeCookies(Sqlite3MozCookieParser().parse(filename));
+ std::vector<Cookie> cookies = Sqlite3MozCookieParser().parse(filename);
+ storeCookies(cookies.begin(), cookies.end());
#else // !HAVE_SQLITE3
throw DL_ABORT_EX
("Cannot read SQLite3 database because SQLite3 support is disabled by"
" configuration.");
#endif // !HAVE_SQLITE3
} else {
- storeCookies(NsCookieParser().parse(filename));
+ std::vector<Cookie> cookies = NsCookieParser().parse(filename);
+ storeCookies(cookies.begin(), cookies.end());
}
return true;
} catch(RecoverableException& e) {
diff --git a/src/CookieStorage.h b/src/CookieStorage.h
index 1d343725..eaac2bce 100644
--- a/src/CookieStorage.h
+++ b/src/CookieStorage.h
@@ -39,6 +39,7 @@
#include <string>
#include <deque>
+#include <vector>
#include <algorithm>
#include "a2time.h"
@@ -122,7 +123,13 @@ private:
Logger* _logger;
- void storeCookies(const std::deque<Cookie>& cookies);
+ template<typename InputIterator>
+ void storeCookies(InputIterator first, InputIterator last)
+ {
+ for(; first != last; ++first) {
+ store(*first);
+ }
+ }
public:
CookieStorage();
@@ -140,9 +147,9 @@ public:
// Finds cookies matched with given criteria and returns them.
// Matched cookies' _lastAccess property is updated.
- std::deque<Cookie> criteriaFind(const std::string& requestHost,
- const std::string& requestPath,
- time_t date, bool secure);
+ std::vector<Cookie> criteriaFind(const std::string& requestHost,
+ const std::string& requestPath,
+ time_t date, bool secure);
// Loads Cookies from file denoted by filename. If compiled with
// libsqlite3, this method automatically detects the specified file
diff --git a/src/DHTAbstractNodeLookupTask.cc b/src/DHTAbstractNodeLookupTask.cc
index f828c4dc..fd96618a 100644
--- a/src/DHTAbstractNodeLookupTask.cc
+++ b/src/DHTAbstractNodeLookupTask.cc
@@ -38,7 +38,6 @@
#include "DHTMessageFactory.h"
#include "DHTMessage.h"
#include "DHTNode.h"
-#include "DHTNodeLookupEntry.h"
#include "DHTMessageCallbackImpl.h"
#include "DHTBucket.h"
#include "LogFactory.h"
@@ -60,13 +59,13 @@ void DHTAbstractNodeLookupTask::onReceived(const SharedHandle<DHTMessage>& messa
{
--_inFlightMessage;
onReceivedInternal(message);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
getNodesFromMessage(nodes, message);
- std::deque<SharedHandle<DHTNodeLookupEntry> > newEntries;
+ std::vector<SharedHandle<DHTNodeLookupEntry> > newEntries;
toEntries(newEntries, nodes);
size_t count = 0;
- for(std::deque<SharedHandle<DHTNodeLookupEntry> >::const_iterator i =
+ for(std::vector<SharedHandle<DHTNodeLookupEntry> >::const_iterator i =
newEntries.begin(); i != newEntries.end(); ++i) {
if(memcmp(_localNode->getID(), (*i)->_node->getID(), DHT_ID_LENGTH) != 0) {
_entries.push_front(*i);
@@ -132,7 +131,9 @@ void DHTAbstractNodeLookupTask::sendMessageAndCheckFinish()
void DHTAbstractNodeLookupTask::sendMessage()
{
- for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i = _entries.begin(); i != _entries.end() && _inFlightMessage < ALPHA; ++i) {
+ for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i =
+ _entries.begin();
+ i != _entries.end() && _inFlightMessage < ALPHA; ++i) {
if((*i)->_used == false) {
++_inFlightMessage;
(*i)->_used = true;
@@ -151,7 +152,7 @@ void DHTAbstractNodeLookupTask::updateBucket()
void DHTAbstractNodeLookupTask::startup()
{
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
_routingTable->getClosestKNodes(nodes, _targetID);
_entries.clear();
toEntries(_entries, nodes);
@@ -170,14 +171,4 @@ void DHTAbstractNodeLookupTask::startup()
}
}
-void DHTAbstractNodeLookupTask::toEntries
-(std::deque<SharedHandle<DHTNodeLookupEntry> >& entries,
- const std::deque<SharedHandle<DHTNode> >& nodes) const
-{
- for(std::deque<SharedHandle<DHTNode> >::const_iterator i = nodes.begin(); i != nodes.end(); ++i) {
- SharedHandle<DHTNodeLookupEntry> e(new DHTNodeLookupEntry(*i));
- entries.push_back(e);
- }
-}
-
} // namespace aria2
diff --git a/src/DHTAbstractNodeLookupTask.h b/src/DHTAbstractNodeLookupTask.h
index 8b53f9bc..30fbf86c 100644
--- a/src/DHTAbstractNodeLookupTask.h
+++ b/src/DHTAbstractNodeLookupTask.h
@@ -36,14 +36,17 @@
#define _D_DHT_ABSTRACT_NODE_LOOKUP_TASK_H_
#include "DHTAbstractTask.h"
+
+#include <deque>
+#include <vector>
+
#include "DHTMessageCallbackListener.h"
#include "DHTConstants.h"
-#include <deque>
+#include "DHTNodeLookupEntry.h"
namespace aria2 {
class DHTNode;
-class DHTNodeLookupEntry;
class DHTMessage;
class DHTAbstractNodeLookupTask:public DHTAbstractTask, public DHTMessageCallbackListener {
@@ -54,8 +57,16 @@ protected:
size_t _inFlightMessage;
- void toEntries(std::deque<SharedHandle<DHTNodeLookupEntry> >& entries,
- const std::deque<SharedHandle<DHTNode> >& nodes) const;
+ template<typename Container>
+ void toEntries
+ (Container& entries, const std::vector<SharedHandle<DHTNode> >& nodes) const
+ {
+ for(std::vector<SharedHandle<DHTNode> >::const_iterator i = nodes.begin();
+ i != nodes.end(); ++i) {
+ SharedHandle<DHTNodeLookupEntry> e(new DHTNodeLookupEntry(*i));
+ entries.push_back(e);
+ }
+ }
void sendMessage();
@@ -73,7 +84,7 @@ public:
virtual void onTimeout(const SharedHandle<DHTNode>& node);
- virtual void getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes,
+ virtual void getNodesFromMessage(std::vector<SharedHandle<DHTNode> >& nodes,
const SharedHandle<DHTMessage>& message) = 0;
virtual void onReceivedInternal(const SharedHandle<DHTMessage>& message) {}
diff --git a/src/DHTAutoSaveCommand.cc b/src/DHTAutoSaveCommand.cc
index bbd222a3..f8a5509e 100644
--- a/src/DHTAutoSaveCommand.cc
+++ b/src/DHTAutoSaveCommand.cc
@@ -98,13 +98,13 @@ void DHTAutoSaveCommand::save()
}
}
}
- std::deque<SharedHandle<DHTNode> > nodes;
- std::deque<SharedHandle<DHTBucket> > buckets;
+ std::vector<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTBucket> > buckets;
_routingTable->getBuckets(buckets);
- for(std::deque<SharedHandle<DHTBucket> >::const_iterator i = buckets.begin(); i != buckets.end(); ++i) {
-
+ for(std::vector<SharedHandle<DHTBucket> >::const_iterator i = buckets.begin();
+ i != buckets.end(); ++i) {
const SharedHandle<DHTBucket>& bucket = *i;
- std::deque<SharedHandle<DHTNode> > goodNodes;
+ std::vector<SharedHandle<DHTNode> > goodNodes;
bucket->getGoodNodes(goodNodes);
nodes.insert(nodes.end(), goodNodes.begin(), goodNodes.end());
}
diff --git a/src/DHTBucket.cc b/src/DHTBucket.cc
index 724a14e7..1b4d52cb 100644
--- a/src/DHTBucket.cc
+++ b/src/DHTBucket.cc
@@ -214,9 +214,10 @@ SharedHandle<DHTBucket> DHTBucket::split()
return rBucket;
}
-void DHTBucket::getGoodNodes(std::deque<SharedHandle<DHTNode> >& goodNodes) const
+void DHTBucket::getGoodNodes
+(std::vector<SharedHandle<DHTNode> >& goodNodes) const
{
- goodNodes = _nodes;
+ goodNodes.insert(goodNodes.end(), _nodes.begin(), _nodes.end());
goodNodes.erase(std::remove_if(goodNodes.begin(), goodNodes.end(),
mem_fun_sh(&DHTNode::isBad)), goodNodes.end());
}
diff --git a/src/DHTBucket.h b/src/DHTBucket.h
index bd38e9fa..4b036862 100644
--- a/src/DHTBucket.h
+++ b/src/DHTBucket.h
@@ -36,11 +36,14 @@
#define _D_DHT_BUCKET_H_
#include "common.h"
+
+#include <string>
+#include <deque>
+#include <vector>
+
#include "SharedHandle.h"
#include "DHTConstants.h"
#include "TimeA2.h"
-#include <string>
-#include <deque>
namespace aria2 {
@@ -123,7 +126,7 @@ public:
return _nodes;
}
- void getGoodNodes(std::deque<SharedHandle<DHTNode> >& nodes) const;
+ void getGoodNodes(std::vector<SharedHandle<DHTNode> >& nodes) const;
void dropNode(const SharedHandle<DHTNode>& node);
diff --git a/src/DHTBucketRefreshTask.cc b/src/DHTBucketRefreshTask.cc
index 31071e8c..c8d520ac 100644
--- a/src/DHTBucketRefreshTask.cc
+++ b/src/DHTBucketRefreshTask.cc
@@ -51,9 +51,10 @@ DHTBucketRefreshTask::~DHTBucketRefreshTask() {}
void DHTBucketRefreshTask::startup()
{
- std::deque<SharedHandle<DHTBucket> > buckets;
+ std::vector<SharedHandle<DHTBucket> > buckets;
_routingTable->getBuckets(buckets);
- for(std::deque<SharedHandle<DHTBucket> >::iterator i = buckets.begin(); i != buckets.end(); ++i) {
+ for(std::vector<SharedHandle<DHTBucket> >::iterator i = buckets.begin();
+ i != buckets.end(); ++i) {
if(_forceRefresh || (*i)->needsRefresh()) {
(*i)->notifyUpdate();
unsigned char targetID[DHT_ID_LENGTH];
diff --git a/src/DHTConnectionImpl.cc b/src/DHTConnectionImpl.cc
index 8a882078..7dabdffc 100644
--- a/src/DHTConnectionImpl.cc
+++ b/src/DHTConnectionImpl.cc
@@ -35,7 +35,6 @@
#include "DHTConnectionImpl.h"
#include <utility>
-#include <deque>
#include <algorithm>
#include "LogFactory.h"
@@ -54,11 +53,11 @@ DHTConnectionImpl::~DHTConnectionImpl() {}
bool DHTConnectionImpl::bind(uint16_t& port, IntSequence& ports)
{
- std::deque<int32_t> randPorts = ports.flush();
+ std::vector<int32_t> randPorts = ports.flush();
std::random_shuffle(randPorts.begin(), randPorts.end(),
*SimpleRandomizer::getInstance().get());
- for(std::deque<int32_t>::const_iterator portItr = randPorts.begin();
+ for(std::vector<int32_t>::const_iterator portItr = randPorts.begin();
portItr != randPorts.end(); ++portItr) {
if(!(0 < (*portItr) && (*portItr) <= 65535)) {
continue;
diff --git a/src/DHTEntryPointNameResolveCommand.cc b/src/DHTEntryPointNameResolveCommand.cc
index f00f55b6..c4c5be8c 100644
--- a/src/DHTEntryPointNameResolveCommand.cc
+++ b/src/DHTEntryPointNameResolveCommand.cc
@@ -55,10 +55,12 @@
namespace aria2 {
-DHTEntryPointNameResolveCommand::DHTEntryPointNameResolveCommand(int32_t cuid, DownloadEngine* e, const std::deque<std::pair<std::string, uint16_t> >& entryPoints):
+DHTEntryPointNameResolveCommand::DHTEntryPointNameResolveCommand
+(int32_t cuid, DownloadEngine* e,
+ const std::vector<std::pair<std::string, uint16_t> >& entryPoints):
Command(cuid),
_e(e),
- _entryPoints(entryPoints),
+ _entryPoints(entryPoints.begin(), entryPoints.end()),
_bootstrapEnabled(false)
{}
@@ -82,7 +84,7 @@ bool DHTEntryPointNameResolveCommand::execute()
try {
#ifdef ENABLE_ASYNC_DNS
if(_e->option->getAsBool(PREF_ASYNC_DNS)) {
- while(_entryPoints.size()) {
+ while(!_entryPoints.empty()) {
std::string hostname = _entryPoints.front().first;
try {
if(resolveHostname(hostname, _resolver)) {
@@ -99,17 +101,17 @@ bool DHTEntryPointNameResolveCommand::execute()
logger->error(EX_EXCEPTION_CAUGHT, e);
}
_resolver->reset();
- _entryPoints.erase(_entryPoints.begin());
+ _entryPoints.pop_front();
}
} else
#endif // ENABLE_ASYNC_DNS
{
NameResolver res;
res.setSocktype(SOCK_DGRAM);
- while(_entryPoints.size()) {
+ while(!_entryPoints.empty()) {
std::string hostname = _entryPoints.front().first;
try {
- std::deque<std::string> addrs;
+ std::vector<std::string> addrs;
res.resolve(addrs, hostname);
std::pair<std::string, uint16_t> p(addrs.front(),
@@ -119,7 +121,7 @@ bool DHTEntryPointNameResolveCommand::execute()
} catch(RecoverableException& e) {
logger->error(EX_EXCEPTION_CAUGHT, e);
}
- _entryPoints.erase(_entryPoints.begin());
+ _entryPoints.pop_front();
}
}
if(_bootstrapEnabled && _resolvedEntryPoints.size()) {
diff --git a/src/DHTEntryPointNameResolveCommand.h b/src/DHTEntryPointNameResolveCommand.h
index dadf2993..85c9c92a 100644
--- a/src/DHTEntryPointNameResolveCommand.h
+++ b/src/DHTEntryPointNameResolveCommand.h
@@ -36,10 +36,13 @@
#define _D_DHT_ENTRY_POINT_NAME_RESOVE_COMMAND_H_
#include "Command.h"
-#include "SharedHandle.h"
+
#include <utility>
+#include <vector>
#include <deque>
+#include "SharedHandle.h"
+
namespace aria2 {
class DHTTaskQueue;
@@ -69,7 +72,7 @@ private:
std::deque<std::pair<std::string, uint16_t> > _entryPoints;
- std::deque<std::pair<std::string, uint16_t> > _resolvedEntryPoints;
+ std::vector<std::pair<std::string, uint16_t> > _resolvedEntryPoints;
bool _bootstrapEnabled;
@@ -85,8 +88,9 @@ private:
#endif // ENABLE_ASYNC_DNS
public:
- DHTEntryPointNameResolveCommand(int32_t cuid, DownloadEngine* e,
- const std::deque<std::pair<std:: string, uint16_t> >& entryPoints);
+ DHTEntryPointNameResolveCommand
+ (int32_t cuid, DownloadEngine* e,
+ const std::vector<std::pair<std:: string, uint16_t> >& entryPoints);
virtual ~DHTEntryPointNameResolveCommand();
diff --git a/src/DHTFindNodeMessage.cc b/src/DHTFindNodeMessage.cc
index 26630b42..571be287 100644
--- a/src/DHTFindNodeMessage.cc
+++ b/src/DHTFindNodeMessage.cc
@@ -63,7 +63,7 @@ DHTFindNodeMessage::~DHTFindNodeMessage() {}
void DHTFindNodeMessage::doReceivedAction()
{
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
_routingTable->getClosestKNodes(nodes, _targetNodeID);
SharedHandle<DHTMessage> reply =
_factory->createFindNodeReplyMessage(_remoteNode, nodes, _transactionID);
diff --git a/src/DHTFindNodeReplyMessage.cc b/src/DHTFindNodeReplyMessage.cc
index ee08d6d1..269b0a62 100644
--- a/src/DHTFindNodeReplyMessage.cc
+++ b/src/DHTFindNodeReplyMessage.cc
@@ -61,7 +61,8 @@ DHTFindNodeReplyMessage::~DHTFindNodeReplyMessage() {}
void DHTFindNodeReplyMessage::doReceivedAction()
{
- for(std::deque<SharedHandle<DHTNode> >::iterator i = _closestKNodes.begin(); i != _closestKNodes.end(); ++i) {
+ for(std::vector<SharedHandle<DHTNode> >::iterator i = _closestKNodes.begin();
+ i != _closestKNodes.end(); ++i) {
if(memcmp((*i)->getID(), _localNode->getID(), DHT_ID_LENGTH) != 0) {
_routingTable->addNode(*i);
}
@@ -75,7 +76,7 @@ BDE DHTFindNodeReplyMessage::getResponse()
size_t offset = 0;
unsigned char buffer[DHTBucket::K*26];
// TODO if _closestKNodes.size() > DHTBucket::K ??
- for(std::deque<SharedHandle<DHTNode> >::const_iterator i =
+ for(std::vector<SharedHandle<DHTNode> >::const_iterator i =
_closestKNodes.begin();
i != _closestKNodes.end() && offset < DHTBucket::K*26; ++i) {
SharedHandle<DHTNode> node = *i;
@@ -96,7 +97,8 @@ std::string DHTFindNodeReplyMessage::getMessageType() const
void DHTFindNodeReplyMessage::validate() const {}
-void DHTFindNodeReplyMessage::setClosestKNodes(const std::deque<SharedHandle<DHTNode> >& closestKNodes)
+void DHTFindNodeReplyMessage::setClosestKNodes
+(const std::vector<SharedHandle<DHTNode> >& closestKNodes)
{
_closestKNodes = closestKNodes;
}
diff --git a/src/DHTFindNodeReplyMessage.h b/src/DHTFindNodeReplyMessage.h
index 58d952c3..600b1591 100644
--- a/src/DHTFindNodeReplyMessage.h
+++ b/src/DHTFindNodeReplyMessage.h
@@ -36,13 +36,13 @@
#define _D_DHT_FIND_NODE_REPLY_MESSAGE_H_
#include "DHTResponseMessage.h"
-#include <deque>
+#include <vector>
namespace aria2 {
class DHTFindNodeReplyMessage:public DHTResponseMessage {
private:
- std::deque<SharedHandle<DHTNode> > _closestKNodes;
+ std::vector<SharedHandle<DHTNode> > _closestKNodes;
protected:
virtual std::string toStringOptional() const;
public:
@@ -60,12 +60,13 @@ public:
virtual void validate() const;
- const std::deque<SharedHandle<DHTNode> >& getClosestKNodes() const
+ const std::vector<SharedHandle<DHTNode> >& getClosestKNodes() const
{
return _closestKNodes;
}
- void setClosestKNodes(const std::deque<SharedHandle<DHTNode> >& closestKNodes);
+ void setClosestKNodes
+ (const std::vector<SharedHandle<DHTNode> >& closestKNodes);
static const std::string FIND_NODE;
diff --git a/src/DHTGetPeersMessage.cc b/src/DHTGetPeersMessage.cc
index 66f1b845..adab269e 100644
--- a/src/DHTGetPeersMessage.cc
+++ b/src/DHTGetPeersMessage.cc
@@ -70,11 +70,11 @@ void DHTGetPeersMessage::doReceivedAction()
_remoteNode->getIPAddress(),
_remoteNode->getPort());
// Check to see localhost has the contents which has same infohash
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
_peerAnnounceStorage->getPeers(peers, _infoHash);
SharedHandle<DHTMessage> reply;
if(peers.empty()) {
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
_routingTable->getClosestKNodes(nodes, _infoHash);
reply =
_factory->createGetPeersReplyMessage(_remoteNode, nodes, token,
diff --git a/src/DHTGetPeersReplyMessage.cc b/src/DHTGetPeersReplyMessage.cc
index 39368ad9..3b7f72c2 100644
--- a/src/DHTGetPeersReplyMessage.cc
+++ b/src/DHTGetPeersReplyMessage.cc
@@ -58,10 +58,11 @@ const std::string DHTGetPeersReplyMessage::VALUES("values");
const std::string DHTGetPeersReplyMessage::NODES("nodes");
-DHTGetPeersReplyMessage::DHTGetPeersReplyMessage(const SharedHandle<DHTNode>& localNode,
- const SharedHandle<DHTNode>& remoteNode,
- const std::string& token,
- const std::string& transactionID):
+DHTGetPeersReplyMessage::DHTGetPeersReplyMessage
+(const SharedHandle<DHTNode>& localNode,
+ const SharedHandle<DHTNode>& remoteNode,
+ const std::string& token,
+ const std::string& transactionID):
DHTResponseMessage(localNode, remoteNode, transactionID),
_token(token) {}
@@ -80,7 +81,7 @@ BDE DHTGetPeersReplyMessage::getResponse()
if(_values.empty()) {
size_t offset = 0;
unsigned char buffer[DHTBucket::K*26];
- for(std::deque<SharedHandle<DHTNode> >::const_iterator i =
+ for(std::vector<SharedHandle<DHTNode> >::const_iterator i =
_closestKNodes.begin();
i != _closestKNodes.end() && offset < DHTBucket::K*26; ++i) {
SharedHandle<DHTNode> node = *i;
@@ -113,7 +114,7 @@ BDE DHTGetPeersReplyMessage::getResponse()
// number of peer info that a message can carry.
static const size_t MAX_VALUES_SIZE = 100;
BDE valuesList = BDE::list();
- for(std::deque<SharedHandle<Peer> >::const_iterator i = _values.begin();
+ for(std::vector<SharedHandle<Peer> >::const_iterator i = _values.begin();
i != _values.end() && valuesList.size() < MAX_VALUES_SIZE; ++i) {
const SharedHandle<Peer>& peer = *i;
unsigned char buffer[6];
@@ -133,16 +134,6 @@ std::string DHTGetPeersReplyMessage::getMessageType() const
void DHTGetPeersReplyMessage::validate() const {}
-void DHTGetPeersReplyMessage::setClosestKNodes(const std::deque<SharedHandle<DHTNode> >& closestKNodes)
-{
- _closestKNodes = closestKNodes;
-}
-
-void DHTGetPeersReplyMessage::setValues(const std::deque<SharedHandle<Peer> >& peers)
-{
- _values = peers;
-}
-
std::string DHTGetPeersReplyMessage::toStringOptional() const
{
return strconcat("token=", util::toHex(_token),
diff --git a/src/DHTGetPeersReplyMessage.h b/src/DHTGetPeersReplyMessage.h
index fb66e9af..eb6f493e 100644
--- a/src/DHTGetPeersReplyMessage.h
+++ b/src/DHTGetPeersReplyMessage.h
@@ -37,7 +37,7 @@
#include "DHTResponseMessage.h"
-#include <deque>
+#include <vector>
#include "DHTConstants.h"
@@ -49,9 +49,9 @@ class DHTGetPeersReplyMessage:public DHTResponseMessage {
private:
std::string _token;
- std::deque<SharedHandle<DHTNode> > _closestKNodes;
+ std::vector<SharedHandle<DHTNode> > _closestKNodes;
- std::deque<SharedHandle<Peer> > _values;
+ std::vector<SharedHandle<Peer> > _values;
protected:
virtual std::string toStringOptional() const;
public:
@@ -70,19 +70,26 @@ public:
virtual void validate() const;
- const std::deque<SharedHandle<DHTNode> >& getClosestKNodes() const
+ const std::vector<SharedHandle<DHTNode> >& getClosestKNodes() const
{
return _closestKNodes;
}
- const std::deque<SharedHandle<Peer> >& getValues() const
+ const std::vector<SharedHandle<Peer> >& getValues() const
{
return _values;
}
- void setClosestKNodes(const std::deque<SharedHandle<DHTNode> >& closestKNodes);
+ void setClosestKNodes
+ (const std::vector<SharedHandle<DHTNode> >& closestKNodes)
+ {
+ _closestKNodes = closestKNodes;
+ }
- void setValues(const std::deque<SharedHandle<Peer> >& peers);
+ void setValues(const std::vector<SharedHandle<Peer> >& peers)
+ {
+ _values = peers;
+ }
const std::string& getToken() const
{
diff --git a/src/DHTMessageFactory.h b/src/DHTMessageFactory.h
index 2a823ceb..be00f2cd 100644
--- a/src/DHTMessageFactory.h
+++ b/src/DHTMessageFactory.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "A2STR.h"
@@ -78,9 +78,10 @@ public:
const std::string& transactionID = A2STR::NIL) = 0;
virtual SharedHandle<DHTMessage>
- createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& transactionID) = 0;
+ createFindNodeReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& transactionID) = 0;
virtual SharedHandle<DHTMessage>
createGetPeersMessage(const SharedHandle<DHTNode>& remoteNode,
@@ -88,16 +89,18 @@ public:
const std::string& transactionID = A2STR::NIL) = 0;
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& token,
- const std::string& transactionID) = 0;
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& token,
+ const std::string& transactionID) = 0;
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<Peer> >& peers,
- const std::string& token,
- const std::string& transactionID) = 0;
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<Peer> >& peers,
+ const std::string& token,
+ const std::string& transactionID) = 0;
virtual SharedHandle<DHTMessage>
createAnnouncePeerMessage(const SharedHandle<DHTNode>& remoteNode,
diff --git a/src/DHTMessageFactoryImpl.cc b/src/DHTMessageFactoryImpl.cc
index 6e3c69ae..cd0eb8e0 100644
--- a/src/DHTMessageFactoryImpl.cc
+++ b/src/DHTMessageFactoryImpl.cc
@@ -314,23 +314,25 @@ DHTMessageFactoryImpl::createFindNodeMessage(const SharedHandle<DHTNode>& remote
}
SharedHandle<DHTMessage>
-DHTMessageFactoryImpl::createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& transactionID)
+DHTMessageFactoryImpl::createFindNodeReplyMessage
+(const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& transactionID)
{
- SharedHandle<DHTFindNodeReplyMessage> m(new DHTFindNodeReplyMessage(_localNode, remoteNode, transactionID));
+ SharedHandle<DHTFindNodeReplyMessage> m
+ (new DHTFindNodeReplyMessage(_localNode, remoteNode, transactionID));
m->setClosestKNodes(closestKNodes);
setCommonProperty(m);
return m;
}
-std::deque<SharedHandle<DHTNode> >
+std::vector<SharedHandle<DHTNode> >
DHTMessageFactoryImpl::extractNodes(const unsigned char* src, size_t length)
{
if(length%26 != 0) {
throw DL_ABORT_EX("Nodes length is not multiple of 26");
}
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
for(size_t offset = 0; offset < length; offset += 26) {
SharedHandle<DHTNode> node(new DHTNode(src+offset));
std::pair<std::string, uint16_t> addr =
@@ -354,8 +356,8 @@ DHTMessageFactoryImpl::createFindNodeReplyMessage
const BDE& nodesData =
getString(getDictionary(dict, DHTResponseMessage::R),
DHTFindNodeReplyMessage::NODES);
- std::deque<SharedHandle<DHTNode> > nodes = extractNodes(nodesData.uc(),
- nodesData.s().size());
+ std::vector<SharedHandle<DHTNode> > nodes =
+ extractNodes(nodesData.uc(), nodesData.s().size());
return createFindNodeReplyMessage(remoteNode, nodes, transactionID);
}
@@ -383,18 +385,19 @@ DHTMessageFactoryImpl::createGetPeersReplyMessageWithNodes
const BDE& rDict = getDictionary(dict, DHTResponseMessage::R);
const BDE& nodesData = getString(rDict,
DHTGetPeersReplyMessage::NODES);
- std::deque<SharedHandle<DHTNode> > nodes = extractNodes(nodesData.uc(),
- nodesData.s().size());
+ std::vector<SharedHandle<DHTNode> > nodes =
+ extractNodes(nodesData.uc(), nodesData.s().size());
const BDE& token = getString(rDict, DHTGetPeersReplyMessage::TOKEN);
return createGetPeersReplyMessage(remoteNode, nodes, token.s(),
transactionID);
}
SharedHandle<DHTMessage>
-DHTMessageFactoryImpl::createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& token,
- const std::string& transactionID)
+DHTMessageFactoryImpl::createGetPeersReplyMessage
+(const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& token,
+ const std::string& transactionID)
{
SharedHandle<DHTGetPeersReplyMessage> m
(new DHTGetPeersReplyMessage(_localNode, remoteNode, token, transactionID));
@@ -412,14 +415,14 @@ DHTMessageFactoryImpl::createGetPeersReplyMessageWithValues
const BDE& rDict = getDictionary(dict, DHTResponseMessage::R);
const BDE& valuesList = getList(rDict,
DHTGetPeersReplyMessage::VALUES);
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
for(BDE::List::const_iterator i = valuesList.listBegin();
i != valuesList.listEnd(); ++i) {
const BDE& data = *i;
if(data.isString() && data.s().size() == 6) {
std::pair<std::string, uint16_t> addr =
bittorrent::unpackcompact(data.uc());
- PeerHandle peer(new Peer(addr.first, addr.second));
+ SharedHandle<Peer> peer(new Peer(addr.first, addr.second));
peers.push_back(peer);
}
}
@@ -429,10 +432,11 @@ DHTMessageFactoryImpl::createGetPeersReplyMessageWithValues
}
SharedHandle<DHTMessage>
-DHTMessageFactoryImpl::createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<Peer> >& values,
- const std::string& token,
- const std::string& transactionID)
+DHTMessageFactoryImpl::createGetPeersReplyMessage
+(const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<Peer> >& values,
+ const std::string& token,
+ const std::string& transactionID)
{
SharedHandle<DHTGetPeersReplyMessage> m(new DHTGetPeersReplyMessage(_localNode, remoteNode, token, transactionID));
m->setValues(values);
diff --git a/src/DHTMessageFactoryImpl.h b/src/DHTMessageFactoryImpl.h
index 5c026ca9..ce29af08 100644
--- a/src/DHTMessageFactoryImpl.h
+++ b/src/DHTMessageFactoryImpl.h
@@ -72,7 +72,8 @@ private:
void validatePort(const BDE& i) const;
- std::deque<SharedHandle<DHTNode> > extractNodes(const unsigned char* src, size_t length);
+ std::vector<SharedHandle<DHTNode> >
+ extractNodes(const unsigned char* src, size_t length);
void setCommonProperty(const SharedHandle<DHTAbstractMessage>& m);
@@ -111,9 +112,10 @@ public:
virtual SharedHandle<DHTMessage>
- createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& transactionID);
+ createFindNodeReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& transactionID);
virtual SharedHandle<DHTMessage>
createGetPeersMessage(const SharedHandle<DHTNode>& remoteNode,
@@ -121,10 +123,11 @@ public:
const std::string& transactionID = A2STR::NIL);
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& token,
- const std::string& transactionID);
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& token,
+ const std::string& transactionID);
SharedHandle<DHTMessage>
createGetPeersReplyMessageWithNodes(const SharedHandle<DHTNode>& remoteNode,
@@ -132,10 +135,11 @@ public:
const std::string& transactionID);
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<Peer> >& peers,
- const std::string& token,
- const std::string& transactionID);
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<Peer> >& peers,
+ const std::string& token,
+ const std::string& transactionID);
SharedHandle<DHTMessage>
createGetPeersReplyMessageWithValues(const SharedHandle<DHTNode>& remoteNode,
diff --git a/src/DHTNodeLookupTask.cc b/src/DHTNodeLookupTask.cc
index 33802457..ae816c90 100644
--- a/src/DHTNodeLookupTask.cc
+++ b/src/DHTNodeLookupTask.cc
@@ -39,7 +39,6 @@
#include "DHTNodeLookupEntry.h"
#include "LogFactory.h"
#include "util.h"
-#include <cassert>
namespace aria2 {
@@ -48,13 +47,14 @@ DHTNodeLookupTask::DHTNodeLookupTask(const unsigned char* targetNodeID):
{}
void
-DHTNodeLookupTask::getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes,
- const SharedHandle<DHTMessage>& message)
+DHTNodeLookupTask::getNodesFromMessage
+(std::vector<SharedHandle<DHTNode> >& nodes,
+ const SharedHandle<DHTMessage>& message)
{
SharedHandle<DHTFindNodeReplyMessage> m
(dynamic_pointer_cast<DHTFindNodeReplyMessage>(message));
if(!m.isNull()) {
- const std::deque<SharedHandle<DHTNode> >& knodes = m->getClosestKNodes();
+ const std::vector<SharedHandle<DHTNode> >& knodes = m->getClosestKNodes();
nodes.insert(nodes.end(), knodes.begin(), knodes.end());
}
}
diff --git a/src/DHTNodeLookupTask.h b/src/DHTNodeLookupTask.h
index 988b5046..e0f59edf 100644
--- a/src/DHTNodeLookupTask.h
+++ b/src/DHTNodeLookupTask.h
@@ -43,7 +43,7 @@ class DHTNodeLookupTask:public DHTAbstractNodeLookupTask {
public:
DHTNodeLookupTask(const unsigned char* targetNodeID);
- virtual void getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes,
+ virtual void getNodesFromMessage(std::vector<SharedHandle<DHTNode> >& nodes,
const SharedHandle<DHTMessage>& message);
virtual SharedHandle<DHTMessage> createMessage(const SharedHandle<DHTNode>& remoteNode);
diff --git a/src/DHTPeerAnnounceEntry.cc b/src/DHTPeerAnnounceEntry.cc
index 5710982c..6620c05b 100644
--- a/src/DHTPeerAnnounceEntry.cc
+++ b/src/DHTPeerAnnounceEntry.cc
@@ -50,7 +50,8 @@ DHTPeerAnnounceEntry::~DHTPeerAnnounceEntry() {}
void DHTPeerAnnounceEntry::addPeerAddrEntry(const PeerAddrEntry& entry)
{
- std::deque<PeerAddrEntry>::iterator i = std::find(_peerAddrEntries.begin(), _peerAddrEntries.end(), entry);
+ std::vector<PeerAddrEntry>::iterator i =
+ std::find(_peerAddrEntries.begin(), _peerAddrEntries.end(), entry);
if(i == _peerAddrEntries.end()) {
_peerAddrEntries.push_back(entry);
} else {
@@ -91,9 +92,10 @@ bool DHTPeerAnnounceEntry::empty() const
return _peerAddrEntries.empty();
}
-void DHTPeerAnnounceEntry::getPeers(std::deque<SharedHandle<Peer> >& peers) const
+void DHTPeerAnnounceEntry::getPeers
+(std::vector<SharedHandle<Peer> >& peers) const
{
- for(std::deque<PeerAddrEntry>::const_iterator i = _peerAddrEntries.begin();
+ for(std::vector<PeerAddrEntry>::const_iterator i = _peerAddrEntries.begin();
i != _peerAddrEntries.end(); ++i) {
SharedHandle<Peer> peer(new Peer((*i).getIPAddress(), (*i).getPort()));
peers.push_back(peer);
diff --git a/src/DHTPeerAnnounceEntry.h b/src/DHTPeerAnnounceEntry.h
index fee6197a..f957ba59 100644
--- a/src/DHTPeerAnnounceEntry.h
+++ b/src/DHTPeerAnnounceEntry.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "DHTConstants.h"
@@ -52,7 +52,7 @@ class DHTPeerAnnounceEntry {
private:
unsigned char _infoHash[DHT_ID_LENGTH];
- std::deque<PeerAddrEntry> _peerAddrEntries;
+ std::vector<PeerAddrEntry> _peerAddrEntries;
Time _lastUpdated;
public:
@@ -66,7 +66,7 @@ public:
size_t countPeerAddrEntry() const;
- const std::deque<PeerAddrEntry>& getPeerAddrEntries() const
+ const std::vector<PeerAddrEntry>& getPeerAddrEntries() const
{
return _peerAddrEntries;
}
@@ -87,7 +87,7 @@ public:
return _infoHash;
}
- void getPeers(std::deque<SharedHandle<Peer> >& peers) const;
+ void getPeers(std::vector<SharedHandle<Peer> >& peers) const;
};
diff --git a/src/DHTPeerAnnounceStorage.cc b/src/DHTPeerAnnounceStorage.cc
index e8153869..b6390c44 100644
--- a/src/DHTPeerAnnounceStorage.cc
+++ b/src/DHTPeerAnnounceStorage.cc
@@ -101,7 +101,7 @@ bool DHTPeerAnnounceStorage::contains(const unsigned char* infoHash) const
std::binary_search(_entries.begin(), _entries.end(), entry, InfoHashLess());
}
-void DHTPeerAnnounceStorage::getPeers(std::deque<SharedHandle<Peer> >& peers,
+void DHTPeerAnnounceStorage::getPeers(std::vector<SharedHandle<Peer> >& peers,
const unsigned char* infoHash)
{
SharedHandle<DHTPeerAnnounceEntry> entry(new DHTPeerAnnounceEntry(infoHash));
diff --git a/src/DHTPeerAnnounceStorage.h b/src/DHTPeerAnnounceStorage.h
index fec036dc..29d5ecba 100644
--- a/src/DHTPeerAnnounceStorage.h
+++ b/src/DHTPeerAnnounceStorage.h
@@ -36,8 +36,11 @@
#define _D_DHT_PEER_ANNOUNCE_STORAGE_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <deque>
+#include <vector>
+
+#include "SharedHandle.h"
namespace aria2 {
@@ -68,7 +71,7 @@ public:
bool contains(const unsigned char* infoHash) const;
- void getPeers(std::deque<SharedHandle<Peer> >& peers,
+ void getPeers(std::vector<SharedHandle<Peer> >& peers,
const unsigned char* infoHash);
// drop peer announce entry which is not updated in the past
diff --git a/src/DHTPeerLookupTask.cc b/src/DHTPeerLookupTask.cc
index 0fa6402c..c7064bad 100644
--- a/src/DHTPeerLookupTask.cc
+++ b/src/DHTPeerLookupTask.cc
@@ -54,12 +54,14 @@ DHTPeerLookupTask::DHTPeerLookupTask
DHTAbstractNodeLookupTask(bittorrent::getInfoHash(downloadContext)) {}
void
-DHTPeerLookupTask::getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes,
- const SharedHandle<DHTMessage>& message)
+DHTPeerLookupTask::getNodesFromMessage
+(std::vector<SharedHandle<DHTNode> >& nodes,
+ const SharedHandle<DHTMessage>& message)
{
- SharedHandle<DHTGetPeersReplyMessage> m(dynamic_pointer_cast<DHTGetPeersReplyMessage>(message));
+ SharedHandle<DHTGetPeersReplyMessage> m
+ (dynamic_pointer_cast<DHTGetPeersReplyMessage>(message));
if(!m.isNull()) {
- const std::deque<SharedHandle<DHTNode> >& knodes = m->getClosestKNodes();
+ const std::vector<SharedHandle<DHTNode> >& knodes = m->getClosestKNodes();
nodes.insert(nodes.end(), knodes.begin(), knodes.end());
}
}
diff --git a/src/DHTPeerLookupTask.h b/src/DHTPeerLookupTask.h
index bec9d322..c80c0e67 100644
--- a/src/DHTPeerLookupTask.h
+++ b/src/DHTPeerLookupTask.h
@@ -49,7 +49,7 @@ class DHTPeerLookupTask:public DHTAbstractNodeLookupTask {
private:
std::map<std::string, std::string> _tokenStorage;
- std::deque<SharedHandle<Peer> > _peers;
+ std::vector<SharedHandle<Peer> > _peers;
SharedHandle<PeerStorage> _peerStorage;
@@ -57,7 +57,7 @@ private:
public:
DHTPeerLookupTask(const SharedHandle<DownloadContext>& downloadContext);
- virtual void getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes,
+ virtual void getNodesFromMessage(std::vector<SharedHandle<DHTNode> >& nodes,
const SharedHandle<DHTMessage>& message);
virtual void onReceivedInternal(const SharedHandle<DHTMessage>& message);
@@ -66,7 +66,7 @@ public:
virtual void onFinish();
- const std::deque<SharedHandle<Peer> >& getPeers() const
+ const std::vector<SharedHandle<Peer> >& getPeers() const
{
return _peers;
}
diff --git a/src/DHTRoutingTable.cc b/src/DHTRoutingTable.cc
index 20ed75d7..f996698e 100644
--- a/src/DHTRoutingTable.cc
+++ b/src/DHTRoutingTable.cc
@@ -126,8 +126,9 @@ bool DHTRoutingTable::addNode(const SharedHandle<DHTNode>& node, bool good)
return false;
}
-void DHTRoutingTable::getClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
- const unsigned char* key) const
+void DHTRoutingTable::getClosestKNodes
+(std::vector<SharedHandle<DHTNode> >& nodes,
+ const unsigned char* key) const
{
BNode::findClosestKNodes(nodes, _root, key);
}
@@ -177,7 +178,8 @@ void DHTRoutingTable::moveBucketTail(const SharedHandle<DHTNode>& node)
getBucketFor(node)->moveToTail(node);
}
-void DHTRoutingTable::getBuckets(std::deque<SharedHandle<DHTBucket> >& buckets) const
+void DHTRoutingTable::getBuckets
+(std::vector<SharedHandle<DHTBucket> >& buckets) const
{
BNode::enumerateBucket(buckets, _root);
}
diff --git a/src/DHTRoutingTable.h b/src/DHTRoutingTable.h
index fc7d94d3..e9c4ae73 100644
--- a/src/DHTRoutingTable.h
+++ b/src/DHTRoutingTable.h
@@ -36,9 +36,11 @@
#define _D_DHT_ROUTING_TABLE_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <string>
-#include <deque>
+#include <vector>
+
+#include "SharedHandle.h"
namespace aria2 {
@@ -73,7 +75,7 @@ public:
bool addGoodNode(const SharedHandle<DHTNode>& node);
- void getClosestKNodes(std::deque<SharedHandle<DHTNode> >& nodes,
+ void getClosestKNodes(std::vector<SharedHandle<DHTNode> >& nodes,
const unsigned char* key) const;
size_t countBucket() const;
@@ -92,7 +94,7 @@ public:
SharedHandle<DHTNode> getNode(const unsigned char* id, const std::string& ipaddr, uint16_t port) const;
- void getBuckets(std::deque<SharedHandle<DHTBucket> >& buckets) const;
+ void getBuckets(std::vector<SharedHandle<DHTBucket> >& buckets) const;
void setTaskQueue(const SharedHandle<DHTTaskQueue>& taskQueue);
diff --git a/src/DHTRoutingTableDeserializer.cc b/src/DHTRoutingTableDeserializer.cc
index 51691b82..fe52e911 100644
--- a/src/DHTRoutingTableDeserializer.cc
+++ b/src/DHTRoutingTableDeserializer.cc
@@ -157,7 +157,7 @@ void DHTRoutingTableDeserializer::deserialize(std::istream& in)
readBytes(buf, buf.size(), in, 4);
CHECK_STREAM(in, 4);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
// nodes
for(size_t i = 0; i < numNodes; ++i) {
// Currently, only IPv4 addresses are supported.
diff --git a/src/DHTRoutingTableDeserializer.h b/src/DHTRoutingTableDeserializer.h
index 4c9a67be..b0ceae07 100644
--- a/src/DHTRoutingTableDeserializer.h
+++ b/src/DHTRoutingTableDeserializer.h
@@ -36,10 +36,12 @@
#define _D_DHT_ROUTING_TABLE_DESERIALIZER_H_
#include "common.h"
+
+#include <vector>
+#include <iosfwd>
+
#include "SharedHandle.h"
#include "TimeA2.h"
-#include <deque>
-#include <iosfwd>
namespace aria2 {
@@ -49,7 +51,7 @@ class DHTRoutingTableDeserializer {
private:
SharedHandle<DHTNode> _localNode;
- std::deque<SharedHandle<DHTNode> > _nodes;
+ std::vector<SharedHandle<DHTNode> > _nodes;
Time _serializedTime;
public:
@@ -62,7 +64,7 @@ public:
return _localNode;
}
- const std::deque<SharedHandle<DHTNode> >& getNodes() const
+ const std::vector<SharedHandle<DHTNode> >& getNodes() const
{
return _nodes;
}
diff --git a/src/DHTRoutingTableSerializer.cc b/src/DHTRoutingTableSerializer.cc
index 61b2ea83..fcd569ce 100644
--- a/src/DHTRoutingTableSerializer.cc
+++ b/src/DHTRoutingTableSerializer.cc
@@ -53,12 +53,14 @@ DHTRoutingTableSerializer::DHTRoutingTableSerializer() {}
DHTRoutingTableSerializer::~DHTRoutingTableSerializer() {}
-void DHTRoutingTableSerializer::setLocalNode(const SharedHandle<DHTNode>& localNode)
+void DHTRoutingTableSerializer::setLocalNode
+(const SharedHandle<DHTNode>& localNode)
{
_localNode = localNode;
}
-void DHTRoutingTableSerializer::setNodes(const std::deque<SharedHandle<DHTNode> >& nodes)
+void DHTRoutingTableSerializer::setNodes
+(const std::vector<SharedHandle<DHTNode> >& nodes)
{
_nodes = nodes;
}
@@ -99,7 +101,8 @@ void DHTRoutingTableSerializer::serialize(std::ostream& o)
o.write(zero, 4);
// nodes
- for(std::deque<SharedHandle<DHTNode> >::const_iterator i = _nodes.begin(); i != _nodes.end(); ++i) {
+ for(std::vector<SharedHandle<DHTNode> >::const_iterator i = _nodes.begin();
+ i != _nodes.end(); ++i) {
const SharedHandle<DHTNode>& node = *i;
// Currently, only IPv4 address and IPv4-mapped address are saved.
// 6bytes: write IP address + port in Compact IP-address/port info form.
diff --git a/src/DHTRoutingTableSerializer.h b/src/DHTRoutingTableSerializer.h
index a0b60f91..bcc44d61 100644
--- a/src/DHTRoutingTableSerializer.h
+++ b/src/DHTRoutingTableSerializer.h
@@ -36,10 +36,12 @@
#define _D_DHT_ROUTING_TABLE_SERIALIZER_H_
#include "common.h"
-#include "SharedHandle.h"
-#include <deque>
+
+#include <vector>
#include <iosfwd>
+#include "SharedHandle.h"
+
namespace aria2 {
class DHTNode;
@@ -48,7 +50,7 @@ class DHTRoutingTableSerializer {
private:
SharedHandle<DHTNode> _localNode;
- std::deque<SharedHandle<DHTNode> > _nodes;
+ std::vector<SharedHandle<DHTNode> > _nodes;
public:
DHTRoutingTableSerializer();
@@ -56,7 +58,7 @@ public:
void setLocalNode(const SharedHandle<DHTNode>& localNode);
- void setNodes(const std::deque<SharedHandle<DHTNode> >& nodes);
+ void setNodes(const std::vector<SharedHandle<DHTNode> >& nodes);
void serialize(std::ostream& o);
};
diff --git a/src/DHTSetup.cc b/src/DHTSetup.cc
index 788b7a2f..038c4d92 100644
--- a/src/DHTSetup.cc
+++ b/src/DHTSetup.cc
@@ -80,13 +80,13 @@ DHTSetup::DHTSetup():_logger(LogFactory::getInstance()) {}
DHTSetup::~DHTSetup() {}
-void DHTSetup::setup(std::deque<Command*>& commands,
+void DHTSetup::setup(std::vector<Command*>& commands,
DownloadEngine* e, const Option* option)
{
if(_initialized) {
return;
}
- std::deque<Command*> tempCommands;
+ std::vector<Command*> tempCommands;
try {
// load routing table and localnode id here
@@ -179,8 +179,10 @@ void DHTSetup::setup(std::deque<Command*>& commands,
DHTRegistry::_messageFactory = factory;
// add deserialized nodes to routing table
- const std::deque<SharedHandle<DHTNode> >& desnodes = deserializer.getNodes();
- for(std::deque<SharedHandle<DHTNode> >::const_iterator i = desnodes.begin(); i != desnodes.end(); ++i) {
+ const std::vector<SharedHandle<DHTNode> >& desnodes =
+ deserializer.getNodes();
+ for(std::vector<SharedHandle<DHTNode> >::const_iterator i =
+ desnodes.begin(); i != desnodes.end(); ++i) {
routingTable->addNode(*i);
}
if(!desnodes.empty() && deserializer.getSerializedTime().elapsed(DHT_BUCKET_REFRESH_INTERVAL)) {
@@ -194,7 +196,7 @@ void DHTSetup::setup(std::deque<Command*>& commands,
{
std::pair<std::string, uint16_t> addr(option->get(PREF_DHT_ENTRY_POINT_HOST),
option->getAsInt(PREF_DHT_ENTRY_POINT_PORT));
- std::deque<std::pair<std::string, uint16_t> > entryPoints;
+ std::vector<std::pair<std::string, uint16_t> > entryPoints;
entryPoints.push_back(addr);
DHTEntryPointNameResolveCommand* command =
new DHTEntryPointNameResolveCommand(e->newCUID(), e, entryPoints);
diff --git a/src/DHTSetup.h b/src/DHTSetup.h
index 6bddaec5..a1e517e2 100644
--- a/src/DHTSetup.h
+++ b/src/DHTSetup.h
@@ -36,7 +36,7 @@
#define _D_DHT_SETUP_H_
#include "common.h"
-#include <deque>
+#include <vector>
namespace aria2 {
class Logger;
@@ -55,7 +55,7 @@ public:
~DHTSetup();
- void setup(std::deque<Command*>& commands,
+ void setup(std::vector<Command*>& commands,
DownloadEngine* e, const Option* option);
static bool initialized();
diff --git a/src/DefaultBtAnnounce.cc b/src/DefaultBtAnnounce.cc
index 3f2465d5..c8dcaa9c 100644
--- a/src/DefaultBtAnnounce.cc
+++ b/src/DefaultBtAnnounce.cc
@@ -274,7 +274,7 @@ DefaultBtAnnounce::processAnnounceResponse(const unsigned char* trackerResponse,
logger->info(MSG_NO_PEER_LIST_RECEIVED);
} else {
if(!btRuntime->isHalt() && btRuntime->lessThanMinPeers()) {
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
PeerListProcessor().extractPeer(peerData, std::back_inserter(peers));
peerStorage->addPeer(peers);
}
diff --git a/src/DefaultBtInteractive.cc b/src/DefaultBtInteractive.cc
index 83ec725c..6de0ea4f 100644
--- a/src/DefaultBtInteractive.cc
+++ b/src/DefaultBtInteractive.cc
@@ -35,6 +35,7 @@
#include "DefaultBtInteractive.h"
#include <cstring>
+#include <vector>
#include "prefs.h"
#include "message.h"
@@ -226,7 +227,7 @@ void DefaultBtInteractive::decideChoking() {
}
void DefaultBtInteractive::checkHave() {
- std::deque<size_t> indexes;
+ std::vector<size_t> indexes;
_pieceStorage->getAdvertisedPieceIndexes(indexes, cuid, haveCheckPoint);
haveCheckPoint.reset();
if(indexes.size() >= 20) {
@@ -236,7 +237,7 @@ void DefaultBtInteractive::checkHave() {
dispatcher->addMessageToQueue(messageFactory->createBitfieldMessage());
}
} else {
- for(std::deque<size_t>::iterator itr = indexes.begin();
+ for(std::vector<size_t>::iterator itr = indexes.begin();
itr != indexes.end(); ++itr) {
dispatcher->addMessageToQueue(messageFactory->createHaveMessage(*itr));
}
@@ -326,7 +327,7 @@ void DefaultBtInteractive::fillPiece(size_t maxMissingBlock) {
if(peer->peerChoking()) {
if(peer->isFastExtensionEnabled()) {
- std::deque<size_t> excludedIndexes;
+ std::vector<size_t> excludedIndexes;
btRequestFactory->getTargetPieceIndexes(excludedIndexes);
while(numMissingBlock < maxMissingBlock) {
SharedHandle<Piece> piece =
@@ -341,7 +342,7 @@ void DefaultBtInteractive::fillPiece(size_t maxMissingBlock) {
}
}
} else {
- std::deque<size_t> excludedIndexes;
+ std::vector<size_t> excludedIndexes;
btRequestFactory->getTargetPieceIndexes(excludedIndexes);
while(numMissingBlock < maxMissingBlock) {
SharedHandle<Piece> piece =
@@ -364,7 +365,7 @@ void DefaultBtInteractive::addRequests() {
_maxOutstandingRequest <= dispatcher->countOutstandingRequest() ?
0 : _maxOutstandingRequest-dispatcher->countOutstandingRequest();
if(reqNumToCreate > 0) {
- BtMessages requests;
+ std::vector<SharedHandle<BtMessage> > requests;
if(_pieceStorage->isEndGame()) {
btRequestFactory->createRequestMessagesOnEndGame(requests,reqNumToCreate);
} else {
@@ -437,7 +438,7 @@ void DefaultBtInteractive::addPeerExchangeMessage()
if(_pexCheckPoint.elapsed(UTPexExtensionMessage::DEFAULT_INTERVAL)) {
UTPexExtensionMessageHandle m
(new UTPexExtensionMessage(peer->getExtensionMessageID("ut_pex")));
- const Peers& peers = _peerStorage->getPeers();
+ const std::deque<SharedHandle<Peer> >& peers = _peerStorage->getPeers();
{
for(std::deque<SharedHandle<Peer> >::const_iterator i =
peers.begin(); i != peers.end() && !m->freshPeersAreFull(); ++i) {
@@ -474,7 +475,7 @@ void DefaultBtInteractive::doInteractionProcessing() {
_downloadContext->getTotalLength() > 0) {
size_t num = _utMetadataRequestTracker->avail();
if(num > 0) {
- std::deque<SharedHandle<BtMessage> > requests;
+ std::vector<SharedHandle<BtMessage> > requests;
_utMetadataRequestFactory->create(requests, num, _pieceStorage);
dispatcher->addMessageToQueue(requests);
}
diff --git a/src/DefaultBtMessageDispatcher.cc b/src/DefaultBtMessageDispatcher.cc
index d3e96244..58aff2bd 100644
--- a/src/DefaultBtMessageDispatcher.cc
+++ b/src/DefaultBtMessageDispatcher.cc
@@ -75,15 +75,17 @@ void DefaultBtMessageDispatcher::addMessageToQueue(const BtMessageHandle& btMess
messageQueue.push_back(btMessage);
}
-void DefaultBtMessageDispatcher::addMessageToQueue(const BtMessages& btMessages)
+void DefaultBtMessageDispatcher::addMessageToQueue
+(const std::vector<SharedHandle<BtMessage> >& btMessages)
{
- for(BtMessages::const_iterator itr = btMessages.begin(); itr != btMessages.end(); itr++) {
+ for(std::vector<SharedHandle<BtMessage> >::const_iterator itr =
+ btMessages.begin(); itr != btMessages.end(); ++itr) {
addMessageToQueue(*itr);
}
}
void DefaultBtMessageDispatcher::sendMessages() {
- BtMessages tempQueue;
+ std::vector<SharedHandle<BtMessage> > tempQueue;
while(!messageQueue.empty()) {
BtMessageHandle msg = messageQueue.front();
messageQueue.pop_front();
@@ -121,7 +123,8 @@ void DefaultBtMessageDispatcher::doCancelSendingPieceAction(size_t index, uint32
{
BtCancelSendingPieceEvent event(index, begin, length);
- BtMessages tempQueue = messageQueue;
+ std::vector<SharedHandle<BtMessage> > tempQueue
+ (messageQueue.begin(), messageQueue.end());
forEachMemFunSH(tempQueue.begin(), tempQueue.end(),
&BtMessage::onCancelSendingPieceEvent, event);
@@ -129,7 +132,8 @@ void DefaultBtMessageDispatcher::doCancelSendingPieceAction(size_t index, uint32
// Cancel sending piece message to peer.
// TODO Is this method really necessary?
-void DefaultBtMessageDispatcher::doCancelSendingPieceAction(const PieceHandle& piece)
+void DefaultBtMessageDispatcher::doCancelSendingPieceAction
+(const SharedHandle<Piece>& piece)
{
}
@@ -158,7 +162,8 @@ public:
};
// localhost cancels outstanding download requests to the peer.
-void DefaultBtMessageDispatcher::doAbortOutstandingRequestAction(const PieceHandle& piece) {
+void DefaultBtMessageDispatcher::doAbortOutstandingRequestAction
+(const SharedHandle<Piece>& piece) {
RequestSlot rs(piece->getIndex(), 0, 0, 0);
std::deque<RequestSlot>::iterator first =
std::lower_bound(requestSlots.begin(), requestSlots.end(), rs);
@@ -172,7 +177,8 @@ void DefaultBtMessageDispatcher::doAbortOutstandingRequestAction(const PieceHand
BtAbortOutstandingRequestEvent event(piece);
- BtMessages tempQueue = messageQueue;
+ std::vector<SharedHandle<BtMessage> > tempQueue
+ (messageQueue.begin(), messageQueue.end());
forEachMemFunSH(tempQueue.begin(), tempQueue.end(),
&BtMessage::onAbortOutstandingRequestEvent, event);
}
@@ -238,7 +244,8 @@ void DefaultBtMessageDispatcher::doChokingAction()
{
BtChokingEvent event;
- BtMessages tempQueue = messageQueue;
+ std::vector<SharedHandle<BtMessage> > tempQueue
+ (messageQueue.begin(), messageQueue.end());
forEachMemFunSH(tempQueue.begin(), tempQueue.end(),
&BtMessage::onChokingEvent, event);
}
@@ -351,11 +358,6 @@ bool DefaultBtMessageDispatcher::isSendingInProgress()
}
}
-size_t DefaultBtMessageDispatcher::countOutstandingRequest()
-{
- return requestSlots.size();
-}
-
class BlockIndexLess {
public:
bool operator()(const RequestSlot& lhs, const RequestSlot& rhs) const
diff --git a/src/DefaultBtMessageDispatcher.h b/src/DefaultBtMessageDispatcher.h
index 7805c143..861f8b1e 100644
--- a/src/DefaultBtMessageDispatcher.h
+++ b/src/DefaultBtMessageDispatcher.h
@@ -36,6 +36,9 @@
#define _D_DEFAULT_BT_MESSAGE_DISPATCHER_H_
#include "BtMessageDispatcher.h"
+
+#include <deque>
+
#include "a2time.h"
namespace aria2 {
@@ -70,7 +73,8 @@ public:
virtual void addMessageToQueue(const SharedHandle<BtMessage>& btMessage);
- virtual void addMessageToQueue(const std::deque<SharedHandle<BtMessage> >& btMessages);
+ virtual void addMessageToQueue
+ (const std::vector<SharedHandle<BtMessage> >& btMessages);
virtual void sendMessages();
@@ -92,8 +96,11 @@ public:
return messageQueue.size();
}
- virtual size_t countOutstandingRequest();
-
+ virtual size_t countOutstandingRequest()
+ {
+ return requestSlots.size();
+ }
+
virtual bool isOutstandingRequest(size_t index, size_t blockIndex);
virtual RequestSlot getOutstandingRequest(size_t index, uint32_t begin, size_t length);
@@ -109,7 +116,7 @@ public:
return messageQueue;
}
- const RequestSlots& getRequestSlots() const
+ const std::deque<RequestSlot>& getRequestSlots() const
{
return requestSlots;
}
diff --git a/src/DefaultBtMessageFactory.cc b/src/DefaultBtMessageFactory.cc
index 1635979f..e59be8b2 100644
--- a/src/DefaultBtMessageFactory.cc
+++ b/src/DefaultBtMessageFactory.cc
@@ -278,7 +278,8 @@ DefaultBtMessageFactory::createHandshakeMessage(const unsigned char* infoHash,
}
BtMessageHandle
-DefaultBtMessageFactory::createRequestMessage(const PieceHandle& piece, size_t blockIndex)
+DefaultBtMessageFactory::createRequestMessage
+(const SharedHandle<Piece>& piece, size_t blockIndex)
{
BtRequestMessageHandle msg
(new BtRequestMessage(piece->getIndex(),
diff --git a/src/DefaultBtMessageReceiver.cc b/src/DefaultBtMessageReceiver.cc
index 88c8a121..19cca8e9 100644
--- a/src/DefaultBtMessageReceiver.cc
+++ b/src/DefaultBtMessageReceiver.cc
@@ -85,8 +85,7 @@ DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
return SharedHandle<BtHandshakeMessage>();
}
SharedHandle<BtHandshakeMessage> msg = messageFactory->createHandshakeMessage(data, dataLength);
- std::deque<std::string> errors;
- msg->validate(errors);
+ msg->validate();
return msg;
}
@@ -111,13 +110,8 @@ BtMessageHandle DefaultBtMessageReceiver::receiveMessage() {
return SharedHandle<BtMessage>();
}
BtMessageHandle msg = messageFactory->createBtMessage(data, dataLength);
- std::deque<std::string> errors;
- if(msg->validate(errors)) {
- return msg;
- } else {
- // TODO throw exception here based on errors;
- return SharedHandle<BtMessage>();
- }
+ msg->validate();
+ return msg;
}
void DefaultBtMessageReceiver::setDownloadContext
diff --git a/src/DefaultBtProgressInfoFile.cc b/src/DefaultBtProgressInfoFile.cc
index 60558cc0..ca872546 100644
--- a/src/DefaultBtProgressInfoFile.cc
+++ b/src/DefaultBtProgressInfoFile.cc
@@ -179,9 +179,10 @@ void DefaultBtProgressInfoFile::save()
uint32_t numInFlightPieceNL = htonl(_pieceStorage->countInFlightPiece());
o.write(reinterpret_cast<const char*>(&numInFlightPieceNL),
sizeof(numInFlightPieceNL));
- Pieces inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
_pieceStorage->getInFlightPieces(inFlightPieces);
- for(Pieces::const_iterator itr = inFlightPieces.begin();
+ for(std::vector<SharedHandle<Piece> >::const_iterator itr =
+ inFlightPieces.begin();
itr != inFlightPieces.end(); ++itr) {
uint32_t indexNL = htonl((*itr)->getIndex());
o.write(reinterpret_cast<const char*>(&indexNL), sizeof(indexNL));
@@ -343,7 +344,7 @@ void DefaultBtProgressInfoFile::load()
if(version >= 1) {
numInFlightPiece = ntohl(numInFlightPiece);
}
- Pieces inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
while(numInFlightPiece--) {
uint32_t index;
in.read(reinterpret_cast<char*>(&index), sizeof(index));
@@ -365,7 +366,7 @@ void DefaultBtProgressInfoFile::load()
throw DL_ABORT_EX
(StringFormat("piece length out of range: %u", length).str());
}
- PieceHandle piece(new Piece(index, length));
+ SharedHandle<Piece> piece(new Piece(index, length));
uint32_t bitfieldLength;
in.read(reinterpret_cast<char*>(&bitfieldLength),
sizeof(bitfieldLength));
diff --git a/src/DefaultBtRequestFactory.cc b/src/DefaultBtRequestFactory.cc
index 3e55ddb2..e2285380 100644
--- a/src/DefaultBtRequestFactory.cc
+++ b/src/DefaultBtRequestFactory.cc
@@ -66,7 +66,7 @@ DefaultBtRequestFactory::~DefaultBtRequestFactory()
}
}
-void DefaultBtRequestFactory::addTargetPiece(const PieceHandle& piece)
+void DefaultBtRequestFactory::addTargetPiece(const SharedHandle<Piece>& piece)
{
pieces.push_back(piece);
}
@@ -95,7 +95,7 @@ void DefaultBtRequestFactory::removeCompletedPiece() {
pieces.end());
}
-void DefaultBtRequestFactory::removeTargetPiece(const PieceHandle& piece) {
+void DefaultBtRequestFactory::removeTargetPiece(const SharedHandle<Piece>& piece) {
pieces.erase(std::remove(pieces.begin(), pieces.end(), piece),
pieces.end());
dispatcher->doAbortOutstandingRequestAction(piece);
@@ -142,7 +142,8 @@ void DefaultBtRequestFactory::doChokedAction()
}
void DefaultBtRequestFactory::removeAllTargetPiece() {
- for(Pieces::iterator itr = pieces.begin(); itr != pieces.end(); ++itr) {
+ for(std::deque<SharedHandle<Piece> >::iterator itr = pieces.begin();
+ itr != pieces.end(); ++itr) {
dispatcher->doAbortOutstandingRequestAction(*itr);
_pieceStorage->cancelPiece(*itr);
}
@@ -150,7 +151,7 @@ void DefaultBtRequestFactory::removeAllTargetPiece() {
}
void DefaultBtRequestFactory::createRequestMessages
-(std::deque<SharedHandle<BtMessage> >& requests, size_t max)
+(std::vector<SharedHandle<BtMessage> >& requests, size_t max)
{
if(requests.size() >= max) {
return;
@@ -158,7 +159,7 @@ void DefaultBtRequestFactory::createRequestMessages
size_t getnum = max-requests.size();
std::vector<size_t> blockIndexes;
blockIndexes.reserve(getnum);
- for(Pieces::iterator itr = pieces.begin();
+ for(std::deque<SharedHandle<Piece> >::iterator itr = pieces.begin();
itr != pieces.end() && getnum; ++itr) {
SharedHandle<Piece>& piece = *itr;
if(piece->getMissingUnusedBlockIndex(blockIndexes, getnum)) {
@@ -181,17 +182,17 @@ void DefaultBtRequestFactory::createRequestMessages
}
void DefaultBtRequestFactory::createRequestMessagesOnEndGame
-(std::deque<SharedHandle<BtMessage> >& requests, size_t max)
+(std::vector<SharedHandle<BtMessage> >& requests, size_t max)
{
- for(Pieces::iterator itr = pieces.begin();
+ for(std::deque<SharedHandle<Piece> >::iterator itr = pieces.begin();
itr != pieces.end() && requests.size() < max; ++itr) {
- PieceHandle& piece = *itr;
+ SharedHandle<Piece>& piece = *itr;
const size_t mislen = piece->getBitfieldLength();
array_ptr<unsigned char> misbitfield(new unsigned char[mislen]);
piece->getAllMissingBlockIndexes(misbitfield, mislen);
- std::deque<size_t> missingBlockIndexes;
+ std::vector<size_t> missingBlockIndexes;
size_t blockIndex = 0;
for(size_t i = 0; i < mislen; ++i) {
unsigned char bits = misbitfield[i];
@@ -204,7 +205,7 @@ void DefaultBtRequestFactory::createRequestMessagesOnEndGame
}
std::random_shuffle(missingBlockIndexes.begin(), missingBlockIndexes.end(),
*(SimpleRandomizer::getInstance().get()));
- for(std::deque<size_t>::const_iterator bitr = missingBlockIndexes.begin();
+ for(std::vector<size_t>::const_iterator bitr = missingBlockIndexes.begin();
bitr != missingBlockIndexes.end() && requests.size() < max; bitr++) {
const size_t& blockIndex = *bitr;
if(!dispatcher->isOutstandingRequest(piece->getIndex(),
@@ -247,7 +248,7 @@ size_t DefaultBtRequestFactory::countMissingBlock()
}
void DefaultBtRequestFactory::getTargetPieceIndexes
-(std::deque<size_t>& indexes) const
+(std::vector<size_t>& indexes) const
{
std::transform(pieces.begin(), pieces.end(), std::back_inserter(indexes),
mem_fun_sh(&Piece::getIndex));
diff --git a/src/DefaultBtRequestFactory.h b/src/DefaultBtRequestFactory.h
index 3df8146d..7be2bf01 100644
--- a/src/DefaultBtRequestFactory.h
+++ b/src/DefaultBtRequestFactory.h
@@ -37,6 +37,8 @@
#include "BtRequestFactory.h"
+#include <deque>
+
namespace aria2 {
class PieceStorage;
@@ -77,12 +79,12 @@ public:
virtual void doChokedAction();
virtual void createRequestMessages
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max);
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max);
virtual void createRequestMessagesOnEndGame
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max);
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max);
- virtual void getTargetPieceIndexes(std::deque<size_t>& indexes) const;
+ virtual void getTargetPieceIndexes(std::vector<size_t>& indexes) const;
std::deque<SharedHandle<Piece> >& getTargetPieces()
{
diff --git a/src/DefaultExtensionMessageFactory.cc b/src/DefaultExtensionMessageFactory.cc
index d9f87aef..6ce8de84 100644
--- a/src/DefaultExtensionMessageFactory.cc
+++ b/src/DefaultExtensionMessageFactory.cc
@@ -60,7 +60,7 @@ DefaultExtensionMessageFactory::DefaultExtensionMessageFactory():
_logger(LogFactory::getInstance()) {}
DefaultExtensionMessageFactory::DefaultExtensionMessageFactory
-(const PeerHandle& peer,
+(const SharedHandle<Peer>& peer,
const SharedHandle<ExtensionMessageRegistry>& registry):
_peer(peer),
_registry(registry),
@@ -163,7 +163,7 @@ void DefaultExtensionMessageFactory::setPeerStorage
_peerStorage = peerStorage;
}
-void DefaultExtensionMessageFactory::setPeer(const PeerHandle& peer)
+void DefaultExtensionMessageFactory::setPeer(const SharedHandle<Peer>& peer)
{
_peer = peer;
}
diff --git a/src/DefaultPeerStorage.cc b/src/DefaultPeerStorage.cc
index 95868501..fc1a3314 100644
--- a/src/DefaultPeerStorage.cc
+++ b/src/DefaultPeerStorage.cc
@@ -68,19 +68,20 @@ DefaultPeerStorage::~DefaultPeerStorage()
class FindIdenticalPeer {
private:
- PeerHandle _peer;
+ SharedHandle<Peer> _peer;
public:
- FindIdenticalPeer(const PeerHandle& peer):_peer(peer) {}
+ FindIdenticalPeer(const SharedHandle<Peer>& peer):_peer(peer) {}
- bool operator()(const PeerHandle& peer) const {
+ bool operator()(const SharedHandle<Peer>& peer) const {
return (_peer == peer) ||
((_peer->ipaddr == peer->ipaddr) && (_peer->port == peer->port));
}
};
-bool DefaultPeerStorage::isPeerAlreadyAdded(const PeerHandle& peer)
+bool DefaultPeerStorage::isPeerAlreadyAdded(const SharedHandle<Peer>& peer)
{
- return std::find_if(peers.begin(), peers.end(), FindIdenticalPeer(peer)) != peers.end();
+ return std::find_if(peers.begin(), peers.end(),
+ FindIdenticalPeer(peer)) != peers.end();
}
static size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime)
@@ -93,7 +94,7 @@ static size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime)
btRuntime->getMaxPeers()+(btRuntime->getMaxPeers() >> 2);
}
-bool DefaultPeerStorage::addPeer(const PeerHandle& peer) {
+bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) {
if(isPeerAlreadyAdded(peer)) {
if(logger->debug()) {
logger->debug("Adding %s:%u is rejected because it has been already"
@@ -109,10 +110,11 @@ bool DefaultPeerStorage::addPeer(const PeerHandle& peer) {
return true;
}
-void DefaultPeerStorage::addPeer(const Peers& peers) {
- for(Peers::const_iterator itr = peers.begin();
+void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers)
+{
+ for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin();
itr != peers.end(); ++itr) {
- const PeerHandle& peer = *itr;
+ const SharedHandle<Peer>& peer = *itr;
if(addPeer(peer)) {
if(logger->debug()) {
logger->debug(MSG_ADDING_PEER, peer->ipaddr.c_str(), peer->port);
@@ -121,20 +123,21 @@ void DefaultPeerStorage::addPeer(const Peers& peers) {
}
}
-const Peers& DefaultPeerStorage::getPeers() {
+const std::deque<SharedHandle<Peer> >& DefaultPeerStorage::getPeers()
+{
return peers;
}
class FindFinePeer {
public:
- bool operator()(const PeerHandle& peer) const {
+ bool operator()(const SharedHandle<Peer>& peer) const {
return peer->unused() && peer->isGood();
}
};
-PeerHandle DefaultPeerStorage::getUnusedPeer() {
- Peers::const_iterator itr = std::find_if(peers.begin(), peers.end(),
- FindFinePeer());
+SharedHandle<Peer> DefaultPeerStorage::getUnusedPeer() {
+ std::deque<SharedHandle<Peer> >::const_iterator itr =
+ std::find_if(peers.begin(), peers.end(), FindFinePeer());
if(itr == peers.end()) {
return SharedHandle<Peer>();
} else {
@@ -147,17 +150,18 @@ private:
std::string ipaddr;
uint16_t port;
public:
- FindPeer(const std::string& ipaddr, uint16_t port):ipaddr(ipaddr), port(port) {}
+ FindPeer(const std::string& ipaddr, uint16_t port):
+ ipaddr(ipaddr), port(port) {}
- bool operator()(const PeerHandle& peer) const {
+ bool operator()(const SharedHandle<Peer>& peer) const {
return ipaddr == peer->ipaddr && port == peer->port;
}
};
-PeerHandle DefaultPeerStorage::getPeer(const std::string& ipaddr,
- uint16_t port) const {
- Peers::const_iterator itr = std::find_if(peers.begin(), peers.end(),
- FindPeer(ipaddr, port));
+SharedHandle<Peer> DefaultPeerStorage::getPeer(const std::string& ipaddr,
+ uint16_t port) const {
+ std::deque<SharedHandle<Peer> >::const_iterator itr =
+ std::find_if(peers.begin(), peers.end(), FindPeer(ipaddr, port));
if(itr == peers.end()) {
return SharedHandle<Peer>();
} else {
@@ -175,9 +179,9 @@ bool DefaultPeerStorage::isPeerAvailable() {
class CollectActivePeer {
private:
- std::deque<SharedHandle<Peer> >& _activePeers;
+ std::vector<SharedHandle<Peer> >& _activePeers;
public:
- CollectActivePeer(std::deque<SharedHandle<Peer> >& activePeers):
+ CollectActivePeer(std::vector<SharedHandle<Peer> >& activePeers):
_activePeers(activePeers) {}
void operator()(const SharedHandle<Peer>& peer)
@@ -188,7 +192,8 @@ public:
}
};
-void DefaultPeerStorage::getActivePeers(std::deque<SharedHandle<Peer> >& activePeers)
+void DefaultPeerStorage::getActivePeers
+(std::vector<SharedHandle<Peer> >& activePeers)
{
std::for_each(peers.begin(), peers.end(), CollectActivePeer(activePeers));
}
@@ -214,12 +219,12 @@ TransferStat DefaultPeerStorage::calculateStat()
}
_lastTransferStatMapUpdated.reset();
_peerTransferStatMap.clear();
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
getActivePeers(activePeers);
struct timeval now;
gettimeofday(&now, 0);
- for(std::deque<SharedHandle<Peer> >::const_iterator i = activePeers.begin();
- i != activePeers.end(); ++i) {
+ for(std::vector<SharedHandle<Peer> >::const_iterator i =
+ activePeers.begin(); i != activePeers.end(); ++i) {
TransferStat s;
s.downloadSpeed = (*i)->calculateDownloadSpeed(now);
s.uploadSpeed = (*i)->calculateUploadSpeed(now);
@@ -261,10 +266,10 @@ TransferStat DefaultPeerStorage::getTransferStatFor
}
void DefaultPeerStorage::deleteUnusedPeer(size_t delSize) {
- Peers temp;
- for(Peers::reverse_iterator itr = peers.rbegin();
+ std::deque<SharedHandle<Peer> > temp;
+ for(std::deque<SharedHandle<Peer> >::reverse_iterator itr = peers.rbegin();
itr != peers.rend(); ++itr) {
- const PeerHandle& p = *itr;
+ const SharedHandle<Peer>& p = *itr;
if(p->unused() && delSize > 0) {
onErasingPeer(p);
delSize--;
@@ -293,9 +298,10 @@ void DefaultPeerStorage::onReturningPeer(const SharedHandle<Peer>& peer)
}
}
-void DefaultPeerStorage::returnPeer(const PeerHandle& peer)
+void DefaultPeerStorage::returnPeer(const SharedHandle<Peer>& peer)
{
- Peers::iterator itr = std::find(peers.begin(), peers.end(), peer);
+ std::deque<SharedHandle<Peer> >::iterator itr =
+ std::find(peers.begin(), peers.end(), peer);
if(itr == peers.end()) {
if(logger->debug()) {
logger->debug("Cannot find peer %s:%u in PeerStorage.",
@@ -321,7 +327,7 @@ bool DefaultPeerStorage::chokeRoundIntervalElapsed()
void DefaultPeerStorage::executeChoke()
{
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
getActivePeers(activePeers);
if(_pieceStorage->downloadFinished()) {
return _seederStateChoke->executeChoke(activePeers);
diff --git a/src/DefaultPeerStorage.h b/src/DefaultPeerStorage.h
index 184d6a56..62bb6ad5 100644
--- a/src/DefaultPeerStorage.h
+++ b/src/DefaultPeerStorage.h
@@ -83,13 +83,13 @@ public:
SharedHandle<Peer> getPeer(const std::string& ipaddr, uint16_t port) const;
- virtual void addPeer(const std::deque<SharedHandle<Peer> >& peers);
+ virtual void addPeer(const std::vector<SharedHandle<Peer> >& peers);
virtual const std::deque<SharedHandle<Peer> >& getPeers();
virtual bool isPeerAvailable();
- virtual void getActivePeers(std::deque<SharedHandle<Peer> >& peers);
+ virtual void getActivePeers(std::vector<SharedHandle<Peer> >& peers);
virtual TransferStat calculateStat();
diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc
index df7d62c7..b141528f 100644
--- a/src/DefaultPieceStorage.cc
+++ b/src/DefaultPieceStorage.cc
@@ -105,11 +105,11 @@ bool DefaultPieceStorage::getMissingPieceIndex(size_t& index,
}
}
-PieceHandle DefaultPieceStorage::checkOutPiece(size_t index)
+SharedHandle<Piece> DefaultPieceStorage::checkOutPiece(size_t index)
{
bitfieldMan->setUseBit(index);
- PieceHandle piece = findUsedPiece(index);
+ SharedHandle<Piece> piece = findUsedPiece(index);
if(piece.isNull()) {
piece.reset(new Piece(index, bitfieldMan->getBlockLength(index)));
@@ -130,9 +130,9 @@ PieceHandle DefaultPieceStorage::checkOutPiece(size_t index)
* Newly instantiated piece is not added to usedPieces.
* Because it is waste of memory and there is no chance to use them later.
*/
-PieceHandle DefaultPieceStorage::getPiece(size_t index)
+SharedHandle<Piece> DefaultPieceStorage::getPiece(size_t index)
{
- PieceHandle piece;
+ SharedHandle<Piece> piece;
if(0 <= index && index <= bitfieldMan->getMaxIndex()) {
piece = findUsedPiece(index);
if(piece.isNull()) {
@@ -145,7 +145,7 @@ PieceHandle DefaultPieceStorage::getPiece(size_t index)
return piece;
}
-void DefaultPieceStorage::addUsedPiece(const PieceHandle& piece)
+void DefaultPieceStorage::addUsedPiece(const SharedHandle<Piece>& piece)
{
std::deque<SharedHandle<Piece> >::iterator i =
std::lower_bound(usedPieces.begin(), usedPieces.end(), piece);
@@ -156,7 +156,7 @@ void DefaultPieceStorage::addUsedPiece(const PieceHandle& piece)
}
}
-PieceHandle DefaultPieceStorage::findUsedPiece(size_t index) const
+SharedHandle<Piece> DefaultPieceStorage::findUsedPiece(size_t index) const
{
SharedHandle<Piece> p(new Piece());
p->setIndex(index);
@@ -190,13 +190,14 @@ SharedHandle<Piece> DefaultPieceStorage::getMissingPiece
#ifdef ENABLE_BITTORRENT
-bool DefaultPieceStorage::hasMissingPiece(const PeerHandle& peer)
+bool DefaultPieceStorage::hasMissingPiece(const SharedHandle<Peer>& peer)
{
return bitfieldMan->hasMissingPiece(peer->getBitfield(),
peer->getBitfieldLength());
}
-PieceHandle DefaultPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
+SharedHandle<Piece>
+DefaultPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
{
return getMissingPiece(peer->getBitfield(), peer->getBitfieldLength());
}
@@ -204,7 +205,7 @@ PieceHandle DefaultPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
void DefaultPieceStorage::createFastIndexBitfield
(BitfieldMan& bitfield, const SharedHandle<Peer>& peer)
{
- for(std::deque<size_t>::const_iterator itr =
+ for(std::vector<size_t>::const_iterator itr =
peer->getPeerAllowedIndexSet().begin();
itr != peer->getPeerAllowedIndexSet().end(); ++itr) {
if(!bitfieldMan->isBitSet(*itr) && peer->hasPiece(*itr)) {
@@ -213,7 +214,7 @@ void DefaultPieceStorage::createFastIndexBitfield
}
}
-PieceHandle DefaultPieceStorage::getMissingFastPiece
+SharedHandle<Piece> DefaultPieceStorage::getMissingFastPiece
(const SharedHandle<Peer>& peer)
{
if(peer->isFastExtensionEnabled() && peer->countPeerAllowedIndexSet() > 0) {
@@ -227,16 +228,14 @@ PieceHandle DefaultPieceStorage::getMissingFastPiece
}
static void unsetExcludedIndexes(BitfieldMan& bitfield,
- const std::deque<size_t>& excludedIndexes)
+ const std::vector<size_t>& excludedIndexes)
{
- for(std::deque<size_t>::const_iterator i = excludedIndexes.begin();
- i != excludedIndexes.end(); ++i) {
- bitfield.unsetBit(*i);
- }
+ std::for_each(excludedIndexes.begin(), excludedIndexes.end(),
+ std::bind1st(std::mem_fun(&BitfieldMan::unsetBit), &bitfield));
}
SharedHandle<Piece> DefaultPieceStorage::getMissingPiece
-(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
BitfieldMan tempBitfield(bitfieldMan->getBlockLength(),
bitfieldMan->getTotalLength());
@@ -246,7 +245,7 @@ SharedHandle<Piece> DefaultPieceStorage::getMissingPiece
}
SharedHandle<Piece> DefaultPieceStorage::getMissingFastPiece
-(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
if(peer->isFastExtensionEnabled() && peer->countPeerAllowedIndexSet() > 0) {
BitfieldMan tempBitfield(bitfieldMan->getBlockLength(),
@@ -267,7 +266,7 @@ bool DefaultPieceStorage::hasMissingUnusedPiece()
return bitfieldMan->getFirstMissingUnusedIndex(index);
}
-PieceHandle DefaultPieceStorage::getSparseMissingUnusedPiece
+SharedHandle<Piece> DefaultPieceStorage::getSparseMissingUnusedPiece
(const unsigned char* ignoreBitfield, size_t length)
{
size_t index;
@@ -278,7 +277,7 @@ PieceHandle DefaultPieceStorage::getSparseMissingUnusedPiece
}
}
-PieceHandle DefaultPieceStorage::getMissingPiece(size_t index)
+SharedHandle<Piece> DefaultPieceStorage::getMissingPiece(size_t index)
{
if(hasPiece(index) || isPieceUsed(index)) {
return SharedHandle<Piece>();
@@ -287,7 +286,7 @@ PieceHandle DefaultPieceStorage::getMissingPiece(size_t index)
}
}
-void DefaultPieceStorage::deleteUsedPiece(const PieceHandle& piece)
+void DefaultPieceStorage::deleteUsedPiece(const SharedHandle<Piece>& piece)
{
if(piece.isNull()) {
return;
@@ -319,7 +318,7 @@ void DefaultPieceStorage::deleteUsedPiece(const PieceHandle& piece)
// size_t deleted = 0;
// for(Pieces::iterator itr = usedPieces.begin();
// itr != usedPieces.end() && deleted < delNum;) {
-// PieceHandle& piece = *itr;
+// SharedHandle<Piece>& piece = *itr;
// if(!bitfieldMan->isUseBitSet(piece->getIndex()) &&
// piece->countCompleteBlock() <= piece->countBlock()*(fillRate/100.0)) {
// logger->info(MSG_DELETING_USED_PIECE,
@@ -335,7 +334,7 @@ void DefaultPieceStorage::deleteUsedPiece(const PieceHandle& piece)
// return deleted;
// }
-void DefaultPieceStorage::completePiece(const PieceHandle& piece)
+void DefaultPieceStorage::completePiece(const SharedHandle<Piece>& piece)
{
if(piece.isNull()) {
return;
@@ -369,7 +368,7 @@ bool DefaultPieceStorage::isSelectiveDownloadingMode()
}
// not unittested
-void DefaultPieceStorage::cancelPiece(const PieceHandle& piece)
+void DefaultPieceStorage::cancelPiece(const SharedHandle<Piece>& piece)
{
if(piece.isNull()) {
return;
@@ -541,12 +540,13 @@ void DefaultPieceStorage::advertisePiece(int32_t cuid, size_t index)
}
void
-DefaultPieceStorage::getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+DefaultPieceStorage::getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
int32_t myCuid,
const Time& lastCheckTime)
{
- for(Haves::const_iterator itr = haves.begin(); itr != haves.end(); itr++) {
- const Haves::value_type& have = *itr;
+ for(std::deque<HaveEntry>::const_iterator itr = haves.begin();
+ itr != haves.end(); ++itr) {
+ const HaveEntry& have = *itr;
if(have.getCuid() == myCuid) {
continue;
}
@@ -575,7 +575,7 @@ public:
void DefaultPieceStorage::removeAdvertisedPiece(time_t elapsed)
{
- Haves::iterator itr =
+ std::deque<HaveEntry>::iterator itr =
std::find_if(haves.begin(), haves.end(), FindElapsedHave(elapsed));
if(itr != haves.end()) {
if(logger->debug()) {
@@ -601,7 +601,8 @@ void DefaultPieceStorage::markPiecesDone(uint64_t length)
}
size_t r = (length%bitfieldMan->getBlockLength())/Piece::BLOCK_LENGTH;
if(r > 0) {
- PieceHandle p(new Piece(numPiece, bitfieldMan->getBlockLength(numPiece)));
+ SharedHandle<Piece> p
+ (new Piece(numPiece, bitfieldMan->getBlockLength(numPiece)));
for(size_t i = 0; i < r; ++i) {
p->completeBlock(i);
@@ -623,7 +624,8 @@ void DefaultPieceStorage::markPieceMissing(size_t index)
bitfieldMan->unsetBit(index);
}
-void DefaultPieceStorage::addInFlightPiece(const Pieces& pieces)
+void DefaultPieceStorage::addInFlightPiece
+(const std::vector<SharedHandle<Piece> >& pieces)
{
usedPieces.insert(usedPieces.end(), pieces.begin(), pieces.end());
std::sort(usedPieces.begin(), usedPieces.end());
@@ -634,7 +636,8 @@ size_t DefaultPieceStorage::countInFlightPiece()
return usedPieces.size();
}
-void DefaultPieceStorage::getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
+void DefaultPieceStorage::getInFlightPieces
+(std::vector<SharedHandle<Piece> >& pieces)
{
pieces.insert(pieces.end(), usedPieces.begin(), usedPieces.end());
}
diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h
index 4f6b32b1..d759758c 100644
--- a/src/DefaultPieceStorage.h
+++ b/src/DefaultPieceStorage.h
@@ -37,6 +37,8 @@
#include "PieceStorage.h"
+#include <deque>
+
namespace aria2 {
class DownloadContext;
@@ -67,8 +69,6 @@ public:
const Time& getRegisteredTime() const { return registeredTime; }
};
-typedef std::deque<HaveEntry> Haves;
-
class DefaultPieceStorage : public PieceStorage {
private:
SharedHandle<DownloadContext> downloadContext;
@@ -80,7 +80,7 @@ private:
size_t endGamePieceNum;
Logger* logger;
const Option* option;
- Haves haves;
+ std::deque<HaveEntry> haves;
SharedHandle<PieceStatMan> _pieceStatMan;
@@ -126,10 +126,10 @@ public:
virtual SharedHandle<Piece> getMissingFastPiece(const SharedHandle<Peer>& peer);
virtual SharedHandle<Piece> getMissingPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
virtual SharedHandle<Piece> getMissingFastPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
#endif // ENABLE_BITTORRENT
@@ -194,7 +194,7 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index);
virtual void
- getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
int32_t myCuid, const Time& lastCheckTime);
virtual void removeAdvertisedPiece(time_t elapsed);
@@ -205,11 +205,13 @@ public:
virtual void markPieceMissing(size_t index);
- virtual void addInFlightPiece(const std::deque<SharedHandle<Piece> >& pieces);
+ virtual void addInFlightPiece
+ (const std::vector<SharedHandle<Piece> >& pieces);
virtual size_t countInFlightPiece();
- virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces);
+ virtual void getInFlightPieces
+ (std::vector<SharedHandle<Piece> >& pieces);
virtual void addPieceStats(size_t index);
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc
index 68e333f1..189eb2e5 100644
--- a/src/DownloadCommand.cc
+++ b/src/DownloadCommand.cc
@@ -67,7 +67,7 @@ namespace aria2 {
static const size_t BUFSIZE = 16*1024;
DownloadCommand::DownloadCommand(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e,
@@ -112,7 +112,7 @@ bool DownloadCommand::executeInternal() {
return false;
}
setReadCheckSocket(socket);
- SegmentHandle segment = _segments.front();
+ SharedHandle<Segment> segment = _segments.front();
size_t bufSize;
if(segment->getLength() > 0) {
@@ -279,7 +279,8 @@ bool DownloadCommand::prepareForNextSegment() {
}
}
#ifdef ENABLE_MESSAGE_DIGEST
- CheckIntegrityEntryHandle entry(new ChecksumCheckIntegrityEntry(_requestGroup));
+ SharedHandle<CheckIntegrityEntry> entry
+ (new ChecksumCheckIntegrityEntry(_requestGroup));
if(entry->isValidationReady()) {
entry->initValidator();
// TODO do we need cuttrailinggarbage here?
@@ -293,11 +294,11 @@ bool DownloadCommand::prepareForNextSegment() {
// The number of segments should be 1 in order to pass through the next
// segment.
if(_segments.size() == 1) {
- SegmentHandle tempSegment = _segments.front();
+ SharedHandle<Segment> tempSegment = _segments.front();
if(!tempSegment->complete()) {
return prepareForRetry(0);
}
- SegmentHandle nextSegment =
+ SharedHandle<Segment> nextSegment =
_requestGroup->getSegmentMan()->getSegment(cuid,
tempSegment->getIndex()+1);
if(!nextSegment.isNull() && nextSegment->getWrittenLength() == 0) {
diff --git a/src/DownloadContext.cc b/src/DownloadContext.cc
index a88fa1ee..21fc6b1d 100644
--- a/src/DownloadContext.cc
+++ b/src/DownloadContext.cc
@@ -120,7 +120,7 @@ void DownloadContext::setFilePathWithIndex
void DownloadContext::setFileFilter(IntSequence seq)
{
- std::deque<int32_t> fileIndexes = seq.flush();
+ std::vector<int32_t> fileIndexes = seq.flush();
std::sort(fileIndexes.begin(), fileIndexes.end());
fileIndexes.erase(std::unique(fileIndexes.begin(), fileIndexes.end()),
fileIndexes.end());
diff --git a/src/DownloadEngine.cc b/src/DownloadEngine.cc
index 6c9b5091..57db8d0a 100644
--- a/src/DownloadEngine.cc
+++ b/src/DownloadEngine.cc
@@ -237,7 +237,7 @@ void DownloadEngine::setStatCalc(const StatCalcHandle& statCalc)
_statCalc = statCalc;
}
-void DownloadEngine::addCommand(const Commands& commands)
+void DownloadEngine::addCommand(const std::vector<Command*>& commands)
{
this->commands.insert(this->commands.end(), commands.begin(), commands.end());
}
@@ -398,10 +398,10 @@ DownloadEngine::popPooledSocket(std::map<std::string, std::string>& options,
SharedHandle<SocketCore>
DownloadEngine::popPooledSocket
-(const std::deque<std::string>& ipaddrs, uint16_t port)
+(const std::vector<std::string>& ipaddrs, uint16_t port)
{
SharedHandle<SocketCore> s;
- for(std::deque<std::string>::const_iterator i = ipaddrs.begin();
+ for(std::vector<std::string>::const_iterator i = ipaddrs.begin();
i != ipaddrs.end(); ++i) {
s = popPooledSocket(*i, port);
if(!s.isNull()) {
@@ -414,10 +414,10 @@ DownloadEngine::popPooledSocket
SharedHandle<SocketCore>
DownloadEngine::popPooledSocket
(std::map<std::string, std::string>& options,
- const std::deque<std::string>& ipaddrs, uint16_t port)
+ const std::vector<std::string>& ipaddrs, uint16_t port)
{
SharedHandle<SocketCore> s;
- for(std::deque<std::string>::const_iterator i = ipaddrs.begin();
+ for(std::vector<std::string>::const_iterator i = ipaddrs.begin();
i != ipaddrs.end(); ++i) {
s = popPooledSocket(options, *i, port);
if(!s.isNull()) {
diff --git a/src/DownloadEngine.h b/src/DownloadEngine.h
index fc282bf3..3adfe31c 100644
--- a/src/DownloadEngine.h
+++ b/src/DownloadEngine.h
@@ -40,6 +40,7 @@
#include <string>
#include <deque>
#include <map>
+#include <vector>
#include "SharedHandle.h"
#include "a2netcompat.h"
@@ -184,7 +185,7 @@ public:
Command* command);
#endif // ENABLE_ASYNC_DNS
- void addCommand(const std::deque<Command*>& commands);
+ void addCommand(const std::vector<Command*>& commands);
void setStatCalc(const SharedHandle<StatCalc>& statCalc);
@@ -228,12 +229,12 @@ public:
uint16_t port);
SharedHandle<SocketCore>
- popPooledSocket(const std::deque<std::string>& ipaddrs, uint16_t port);
+ popPooledSocket(const std::vector<std::string>& ipaddrs, uint16_t port);
SharedHandle<SocketCore>
popPooledSocket
(std::map<std::string, std::string>& options,
- const std::deque<std::string>& ipaddrs,
+ const std::vector<std::string>& ipaddrs,
uint16_t port);
const SharedHandle<CookieStorage>& getCookieStorage() const
diff --git a/src/DownloadEngineFactory.cc b/src/DownloadEngineFactory.cc
index 19556adc..d855f5af 100644
--- a/src/DownloadEngineFactory.cc
+++ b/src/DownloadEngineFactory.cc
@@ -75,7 +75,7 @@ DownloadEngineFactory::DownloadEngineFactory():
DownloadEngineHandle
DownloadEngineFactory::newDownloadEngine
-(Option* op, const RequestGroups& requestGroups)
+(Option* op, const std::vector<SharedHandle<RequestGroup> >& requestGroups)
{
const size_t MAX_CONCURRENT_DOWNLOADS =
op->getAsInt(PREF_MAX_CONCURRENT_DOWNLOADS);
diff --git a/src/DownloadEngineFactory.h b/src/DownloadEngineFactory.h
index cbbbf335..c26d96f4 100644
--- a/src/DownloadEngineFactory.h
+++ b/src/DownloadEngineFactory.h
@@ -36,8 +36,10 @@
#define _D_DOWNLOAD_ENGINE_FACTORY_H_
#include "common.h"
+
+#include <vector>
+
#include "SharedHandle.h"
-#include <deque>
namespace aria2 {
@@ -53,8 +55,8 @@ public:
DownloadEngineFactory();
SharedHandle<DownloadEngine>
- newDownloadEngine(Option* op,
- const std::deque<SharedHandle<RequestGroup> >& requestGroups);
+ newDownloadEngine
+ (Option* op, const std::vector<SharedHandle<RequestGroup> >& requestGroups);
};
} // namespace aria2
diff --git a/src/DownloadHandler.h b/src/DownloadHandler.h
index e7db61ff..0f508d7a 100644
--- a/src/DownloadHandler.h
+++ b/src/DownloadHandler.h
@@ -36,9 +36,10 @@
#define _D_DOWNLOAD_HANDLER_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <string>
-#include <deque>
+
+#include "SharedHandle.h"
namespace aria2 {
diff --git a/src/DownloadHandlerFactory.cc b/src/DownloadHandlerFactory.cc
index 0a3712dc..6c5ec97e 100644
--- a/src/DownloadHandlerFactory.cc
+++ b/src/DownloadHandlerFactory.cc
@@ -44,20 +44,20 @@ namespace aria2 {
#ifdef ENABLE_METALINK
-MemoryBufferPreDownloadHandlerHandle
+SharedHandle<MemoryBufferPreDownloadHandler>
DownloadHandlerFactory::_metalinkPreDownloadHandler;
-MetalinkPostDownloadHandlerHandle
+SharedHandle<MetalinkPostDownloadHandler>
DownloadHandlerFactory::_metalinkPostDownloadHandler;
#endif // ENABLE_METALINK
#ifdef ENABLE_BITTORRENT
-MemoryBufferPreDownloadHandlerHandle
+SharedHandle<MemoryBufferPreDownloadHandler>
DownloadHandlerFactory::_btPreDownloadHandler;
-BtPostDownloadHandlerHandle
+SharedHandle<BtPostDownloadHandler>
DownloadHandlerFactory::_btPostDownloadHandler;
SharedHandle<UTMetadataPostDownloadHandler>
@@ -66,7 +66,7 @@ DownloadHandlerFactory::_btMetadataPostDownloadHandler;
#ifdef ENABLE_METALINK
-MemoryBufferPreDownloadHandlerHandle
+SharedHandle<MemoryBufferPreDownloadHandler>
DownloadHandlerFactory::getMetalinkPreDownloadHandler()
{
if(_metalinkPreDownloadHandler.isNull()) {
@@ -83,7 +83,7 @@ DownloadHandlerFactory::getMetalinkPreDownloadHandler()
return _metalinkPreDownloadHandler;
}
-MetalinkPostDownloadHandlerHandle
+SharedHandle<MetalinkPostDownloadHandler>
DownloadHandlerFactory::getMetalinkPostDownloadHandler()
{
if(_metalinkPostDownloadHandler.isNull()) {
@@ -96,7 +96,7 @@ DownloadHandlerFactory::getMetalinkPostDownloadHandler()
#ifdef ENABLE_BITTORRENT
-MemoryBufferPreDownloadHandlerHandle
+SharedHandle<MemoryBufferPreDownloadHandler>
DownloadHandlerFactory::getBtPreDownloadHandler()
{
if(_btPreDownloadHandler.isNull()) {
@@ -113,7 +113,8 @@ DownloadHandlerFactory::getBtPreDownloadHandler()
return _btPreDownloadHandler;
}
-BtPostDownloadHandlerHandle DownloadHandlerFactory::getBtPostDownloadHandler()
+SharedHandle<BtPostDownloadHandler>
+DownloadHandlerFactory::getBtPostDownloadHandler()
{
if(_btPostDownloadHandler.isNull()) {
_btPostDownloadHandler.reset(new BtPostDownloadHandler());
diff --git a/src/FileAllocationCommand.cc b/src/FileAllocationCommand.cc
index 48615624..94260f34 100644
--- a/src/FileAllocationCommand.cc
+++ b/src/FileAllocationCommand.cc
@@ -48,7 +48,9 @@
namespace aria2 {
-FileAllocationCommand::FileAllocationCommand(int cuid, RequestGroup* requestGroup, DownloadEngine* e, const FileAllocationEntryHandle& fileAllocationEntry):
+FileAllocationCommand::FileAllocationCommand
+(int cuid, RequestGroup* requestGroup, DownloadEngine* e,
+ const SharedHandle<FileAllocationEntry>& fileAllocationEntry):
RealtimeCommand(cuid, requestGroup, e),
_fileAllocationEntry(fileAllocationEntry) {}
@@ -68,7 +70,7 @@ bool FileAllocationCommand::executeInternal()
}
_e->_fileAllocationMan->dropPickedEntry();
- std::deque<Command*> commands;
+ std::vector<Command*> commands;
try {
_fileAllocationEntry->prepareForNextAction(commands, _e);
} catch(RecoverableException& e) {
diff --git a/src/FileAllocationEntry.h b/src/FileAllocationEntry.h
index 811ade92..7d423da2 100644
--- a/src/FileAllocationEntry.h
+++ b/src/FileAllocationEntry.h
@@ -37,7 +37,8 @@
#include "RequestGroupEntry.h"
#include "ProgressAwareEntry.h"
-#include <deque>
+
+#include <vector>
namespace aria2 {
@@ -61,15 +62,12 @@ public:
void allocateChunk();
- virtual void prepareForNextAction(std::deque<Command*>& commands,
+ virtual void prepareForNextAction(std::vector<Command*>& commands,
DownloadEngine* e) = 0;
void disableDirectIO();
};
-typedef SharedHandle<FileAllocationEntry> FileAllocationEntryHandle;
-typedef std::deque<FileAllocationEntryHandle> FileAllocationEntries;
-
} // namespace aria2
#endif // _D_FILE_ALLOCATION_ENTRY_H_
diff --git a/src/FileEntry.cc b/src/FileEntry.cc
index 53924e64..e1d4591e 100644
--- a/src/FileEntry.cc
+++ b/src/FileEntry.cc
@@ -46,8 +46,8 @@ namespace aria2 {
FileEntry::FileEntry(const std::string& path,
uint64_t length,
off_t offset,
- const std::deque<std::string>& uris):
- path(path), _uris(uris), length(length), offset(offset),
+ const std::vector<std::string>& uris):
+ path(path), _uris(uris.begin(), uris.end()), length(length), offset(offset),
extracted(false), requested(true),
_singleHostMultiConnection(true),
_logger(LogFactory::getInstance()) {}
@@ -92,7 +92,7 @@ off_t FileEntry::gtoloff(off_t goff) const
return goff-offset;
}
-void FileEntry::getUris(std::deque<std::string>& uris) const
+void FileEntry::getUris(std::vector<std::string>& uris) const
{
uris.insert(uris.end(), _spentUris.begin(), _spentUris.end());
uris.insert(uris.end(), _uris.begin(), _uris.end());
@@ -125,7 +125,7 @@ FileEntry::getRequest
{
SharedHandle<Request> req;
if(_requestPool.empty()) {
- std::deque<std::string> pending;
+ std::vector<std::string> pending;
while(1) {
std::string uri = selector->select(this);
if(uri.empty()) {
@@ -287,14 +287,14 @@ void FileEntry::reuseUri(size_t num)
std::sort(uris.begin(), uris.end());
uris.erase(std::unique(uris.begin(), uris.end()), uris.end());
- std::deque<std::string> errorUris(_uriResults.size());
+ std::vector<std::string> errorUris(_uriResults.size());
std::transform(_uriResults.begin(), _uriResults.end(),
errorUris.begin(), std::mem_fun_ref(&URIResult::getURI));
std::sort(errorUris.begin(), errorUris.end());
errorUris.erase(std::unique(errorUris.begin(), errorUris.end()),
errorUris.end());
- std::deque<std::string> reusableURIs;
+ std::vector<std::string> reusableURIs;
std::set_difference(uris.begin(), uris.end(),
errorUris.begin(), errorUris.end(),
std::back_inserter(reusableURIs));
diff --git a/src/FileEntry.h b/src/FileEntry.h
index 0199ba28..2faa8bfa 100644
--- a/src/FileEntry.h
+++ b/src/FileEntry.h
@@ -39,6 +39,7 @@
#include <string>
#include <deque>
+#include <vector>
#include <ostream>
#include "SharedHandle.h"
@@ -78,7 +79,7 @@ public:
FileEntry();
FileEntry(const std::string& path, uint64_t length, off_t offset,
- const std::deque<std::string>& uris = std::deque<std::string>());
+ const std::vector<std::string>& uris = std::vector<std::string>());
~FileEntry();
@@ -133,9 +134,9 @@ public:
return _spentUris;
}
- void setUris(const std::deque<std::string>& uris)
+ void setUris(const std::vector<std::string>& uris)
{
- _uris = uris;
+ _uris = std::deque<std::string>(uris.begin(), uris.end());
}
template<typename InputIterator>
@@ -145,7 +146,7 @@ public:
}
// Inserts _uris and _spentUris into uris.
- void getUris(std::deque<std::string>& uris) const;
+ void getUris(std::vector<std::string>& uris) const;
void setContentType(const std::string& contentType)
{
@@ -240,9 +241,6 @@ public:
}
};
-typedef SharedHandle<FileEntry> FileEntryHandle;
-typedef std::deque<FileEntryHandle> FileEntries;
-
// Returns the first FileEntry which isRequested() method returns
// true. If no such FileEntry exists, then returns
// SharedHandle<FileEntry>().
@@ -298,7 +296,7 @@ void writeFilePath
o << "n/a";
} else {
if(e->getPath().empty()) {
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
e->getUris(uris);
if(uris.empty()) {
o << "n/a";
diff --git a/src/FillRequestGroupCommand.h b/src/FillRequestGroupCommand.h
index 409fbd77..262b8f7b 100644
--- a/src/FillRequestGroupCommand.h
+++ b/src/FillRequestGroupCommand.h
@@ -38,7 +38,6 @@
#include "Command.h"
#include "SharedHandle.h"
#include "TimeA2.h"
-#include <deque>
namespace aria2 {
@@ -47,7 +46,6 @@ class DownloadEngine;
class FillRequestGroupCommand : public Command {
private:
- std::deque<SharedHandle<RequestGroup> > _reservedRequestGroups;
DownloadEngine* _e;
time_t _interval;
Time _checkPoint;
diff --git a/src/FtpConnection.cc b/src/FtpConnection.cc
index 5a2a2ffd..5580888e 100644
--- a/src/FtpConnection.cc
+++ b/src/FtpConnection.cc
@@ -63,7 +63,7 @@ const std::string FtpConnection::A("A");
const std::string FtpConnection::I("I");
FtpConnection::FtpConnection(int32_t cuid, const SocketHandle& socket,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<AuthConfig>& authConfig,
const Option* op):
cuid(cuid), socket(socket), req(req),
@@ -223,7 +223,7 @@ bool FtpConnection::sendPort(const SharedHandle<SocketCore>& serverSocket)
return _socketBuffer.sendBufferIsEmpty();
}
-bool FtpConnection::sendRest(const SegmentHandle& segment)
+bool FtpConnection::sendRest(const SharedHandle<Segment>& segment)
{
if(_socketBuffer.sendBufferIsEmpty()) {
std::string request = "REST ";
diff --git a/src/FtpDownloadCommand.cc b/src/FtpDownloadCommand.cc
index 6d3020d6..a1a9ec45 100644
--- a/src/FtpDownloadCommand.cc
+++ b/src/FtpDownloadCommand.cc
@@ -49,7 +49,7 @@ namespace aria2 {
FtpDownloadCommand::FtpDownloadCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const SharedHandle<FtpConnection>& ftpConnection,
diff --git a/src/FtpFinishDownloadCommand.cc b/src/FtpFinishDownloadCommand.cc
index 6c54e63b..22f61bc5 100644
--- a/src/FtpFinishDownloadCommand.cc
+++ b/src/FtpFinishDownloadCommand.cc
@@ -53,7 +53,7 @@ namespace aria2 {
FtpFinishDownloadCommand::FtpFinishDownloadCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const SharedHandle<FtpConnection>& ftpConnection,
diff --git a/src/FtpInitiateConnectionCommand.cc b/src/FtpInitiateConnectionCommand.cc
index 8ef6fc67..2ec6720d 100644
--- a/src/FtpInitiateConnectionCommand.cc
+++ b/src/FtpInitiateConnectionCommand.cc
@@ -56,7 +56,7 @@ namespace aria2 {
FtpInitiateConnectionCommand::FtpInitiateConnectionCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e)
@@ -66,7 +66,7 @@ FtpInitiateConnectionCommand::~FtpInitiateConnectionCommand() {}
Command* FtpInitiateConnectionCommand::createNextCommand
(const std::string& hostname, const std::string& addr, uint16_t port,
- const std::deque<std::string>& resolvedAddresses,
+ const std::vector<std::string>& resolvedAddresses,
const SharedHandle<Request>& proxyRequest)
{
Command* command;
diff --git a/src/FtpInitiateConnectionCommand.h b/src/FtpInitiateConnectionCommand.h
index f6bbd7c9..ecc086d1 100644
--- a/src/FtpInitiateConnectionCommand.h
+++ b/src/FtpInitiateConnectionCommand.h
@@ -43,7 +43,7 @@ class FtpInitiateConnectionCommand : public InitiateConnectionCommand {
protected:
virtual Command* createNextCommand
(const std::string& hostname, const std::string& addr, uint16_t port,
- const std::deque<std::string>& resolvedAddresses,
+ const std::vector<std::string>& resolvedAddresses,
const SharedHandle<Request>& proxyRequest);
public:
FtpInitiateConnectionCommand(int cuid, const SharedHandle<Request>& req,
diff --git a/src/FtpNegotiationCommand.cc b/src/FtpNegotiationCommand.cc
index 23e1b4ae..32f532d8 100644
--- a/src/FtpNegotiationCommand.cc
+++ b/src/FtpNegotiationCommand.cc
@@ -70,7 +70,7 @@ namespace aria2 {
FtpNegotiationCommand::FtpNegotiationCommand
(int32_t cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e,
@@ -540,14 +540,14 @@ bool FtpNegotiationCommand::recvPasv() {
return false;
}
-bool FtpNegotiationCommand::sendRestPasv(const SegmentHandle& segment) {
+bool FtpNegotiationCommand::sendRestPasv(const SharedHandle<Segment>& segment) {
//dataSocket->setBlockingMode();
setReadCheckSocket(socket);
disableWriteCheckSocket();
return sendRest(segment);
}
-bool FtpNegotiationCommand::sendRest(const SegmentHandle& segment) {
+bool FtpNegotiationCommand::sendRest(const SharedHandle<Segment>& segment) {
if(ftp->sendRest(segment)) {
disableWriteCheckSocket();
sequence = SEQ_RECV_REST;
@@ -617,7 +617,8 @@ bool FtpNegotiationCommand::waitConnection()
return false;
}
-bool FtpNegotiationCommand::processSequence(const SegmentHandle& segment) {
+bool FtpNegotiationCommand::processSequence
+(const SharedHandle<Segment>& segment) {
bool doNextSequence = true;
switch(sequence) {
case SEQ_RECV_GREETING:
diff --git a/src/FtpTunnelRequestCommand.cc b/src/FtpTunnelRequestCommand.cc
index 6ec8890f..ae5f5c62 100644
--- a/src/FtpTunnelRequestCommand.cc
+++ b/src/FtpTunnelRequestCommand.cc
@@ -42,7 +42,7 @@ namespace aria2 {
FtpTunnelRequestCommand::FtpTunnelRequestCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e,
diff --git a/src/FtpTunnelResponseCommand.cc b/src/FtpTunnelResponseCommand.cc
index 1cf96a8e..950f1510 100644
--- a/src/FtpTunnelResponseCommand.cc
+++ b/src/FtpTunnelResponseCommand.cc
@@ -45,7 +45,7 @@ namespace aria2 {
FtpTunnelResponseCommand::FtpTunnelResponseCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const HttpConnectionHandle& httpConnection,
diff --git a/src/GrowSegment.cc b/src/GrowSegment.cc
index 3bf180d7..518498e7 100644
--- a/src/GrowSegment.cc
+++ b/src/GrowSegment.cc
@@ -38,7 +38,7 @@
namespace aria2 {
-GrowSegment::GrowSegment(const PieceHandle& piece):
+GrowSegment::GrowSegment(const SharedHandle<Piece>& piece):
_piece(piece), _writtenLength(0) {}
GrowSegment::~GrowSegment() {}
@@ -65,7 +65,7 @@ void GrowSegment::clear()
_piece->clearAllBlock();
}
-PieceHandle GrowSegment::getPiece() const
+SharedHandle<Piece> GrowSegment::getPiece() const
{
return _piece;
}
diff --git a/src/GrowSegment.h b/src/GrowSegment.h
index 2e6dc80e..6fa519a5 100644
--- a/src/GrowSegment.h
+++ b/src/GrowSegment.h
@@ -112,8 +112,6 @@ public:
virtual SharedHandle<Piece> getPiece() const;
};
-typedef SharedHandle<GrowSegment> GrowSegmentHandle;
-
} // namespace aria2
#endif // _D_GROW_SEGMENT_H_
diff --git a/src/HandleRegistry.h b/src/HandleRegistry.h
index a6cfc514..91a0646b 100644
--- a/src/HandleRegistry.h
+++ b/src/HandleRegistry.h
@@ -36,9 +36,11 @@
#define _D_HANDLE_REGISTRY_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <map>
-#include <deque>
+#include <vector>
+
+#include "SharedHandle.h"
namespace aria2 {
@@ -67,10 +69,11 @@ public:
}
}
- std::deque<SharedHandle<T> > getAll()
+ std::vector<SharedHandle<T> > getAll()
{
- std::deque<SharedHandle<T> > l;
- for(typename HandleMap::const_iterator itr = handleMap.begin(); itr != handleMap.end(); ++itr) {
+ std::vector<SharedHandle<T> > l;
+ for(typename HandleMap::const_iterator itr = handleMap.begin();
+ itr != handleMap.end(); ++itr) {
const typename HandleMap::value_type& p = *itr;
l.push_back(p.second);
}
diff --git a/src/HandshakeExtensionMessage.cc b/src/HandshakeExtensionMessage.cc
index 1f303bc9..a2d0484b 100644
--- a/src/HandshakeExtensionMessage.cc
+++ b/src/HandshakeExtensionMessage.cc
@@ -139,7 +139,7 @@ void HandshakeExtensionMessage::doReceivedAction()
}
}
-void HandshakeExtensionMessage::setPeer(const PeerHandle& peer)
+void HandshakeExtensionMessage::setPeer(const SharedHandle<Peer>& peer)
{
_peer = peer;
}
diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc
index 93e8056c..7e723fab 100644
--- a/src/HttpConnection.cc
+++ b/src/HttpConnection.cc
@@ -58,7 +58,8 @@
namespace aria2 {
-HttpRequestEntry::HttpRequestEntry(const HttpRequestHandle& httpRequest):
+HttpRequestEntry::HttpRequestEntry
+(const SharedHandle<HttpRequest>& httpRequest):
_httpRequest(httpRequest),
_proc(new HttpHeaderProcessor()) {}
@@ -91,7 +92,7 @@ std::string HttpConnection::eraseConfidentialInfo(const std::string& request)
return result;
}
-void HttpConnection::sendRequest(const HttpRequestHandle& httpRequest)
+void HttpConnection::sendRequest(const SharedHandle<HttpRequest>& httpRequest)
{
std::string request = httpRequest->createRequest();
logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str());
@@ -100,7 +101,8 @@ void HttpConnection::sendRequest(const HttpRequestHandle& httpRequest)
outstandingHttpRequests.push_back(entry);
}
-void HttpConnection::sendProxyRequest(const HttpRequestHandle& httpRequest)
+void HttpConnection::sendProxyRequest
+(const SharedHandle<HttpRequest>& httpRequest)
{
std::string request = httpRequest->createProxyRequest();
logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str());
@@ -109,7 +111,7 @@ void HttpConnection::sendProxyRequest(const HttpRequestHandle& httpRequest)
outstandingHttpRequests.push_back(entry);
}
-HttpResponseHandle HttpConnection::receiveResponse()
+SharedHandle<HttpResponse> HttpConnection::receiveResponse()
{
if(outstandingHttpRequests.empty()) {
throw DL_ABORT_EX(EX_NO_HTTP_REQUEST_ENTRY_FOUND);
@@ -138,7 +140,7 @@ HttpResponseHandle HttpConnection::receiveResponse()
logger->info(MSG_RECEIVE_RESPONSE, cuid, proc->getHeaderString().c_str());
SharedHandle<HttpHeader> httpHeader = proc->getHttpResponseHeader();
- HttpResponseHandle httpResponse(new HttpResponse());
+ SharedHandle<HttpResponse> httpResponse(new HttpResponse());
httpResponse->setCuid(cuid);
httpResponse->setHttpHeader(httpHeader);
httpResponse->setHttpRequest(entry->getHttpRequest());
@@ -148,11 +150,11 @@ HttpResponseHandle HttpConnection::receiveResponse()
return httpResponse;
}
-bool HttpConnection::isIssued(const SegmentHandle& segment) const
+bool HttpConnection::isIssued(const SharedHandle<Segment>& segment) const
{
for(HttpRequestEntries::const_iterator itr = outstandingHttpRequests.begin();
itr != outstandingHttpRequests.end(); ++itr) {
- HttpRequestHandle httpRequest = (*itr)->getHttpRequest();
+ SharedHandle<HttpRequest> httpRequest = (*itr)->getHttpRequest();
if(httpRequest->getSegment() == segment) {
return true;
}
diff --git a/src/HttpDownloadCommand.cc b/src/HttpDownloadCommand.cc
index fe29e9d2..74865327 100644
--- a/src/HttpDownloadCommand.cc
+++ b/src/HttpDownloadCommand.cc
@@ -53,7 +53,7 @@ namespace aria2 {
HttpDownloadCommand::HttpDownloadCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const SharedHandle<HttpResponse>& httpResponse,
diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc
index 635cca5c..f103f5e3 100644
--- a/src/HttpHeader.cc
+++ b/src/HttpHeader.cc
@@ -104,17 +104,15 @@ const std::string& HttpHeader::getFirst(const std::string& name) const {
}
}
-std::deque<std::string> HttpHeader::get(const std::string& name) const {
- std::deque<std::string> v;
-
+std::vector<std::string> HttpHeader::get(const std::string& name) const
+{
+ std::vector<std::string> v;
std::string n(util::toLower(name));
-
- std::multimap<std::string, std::string>::const_iterator first =
- table.lower_bound(n);
- std::multimap<std::string, std::string>::const_iterator last =
- table.upper_bound(n);
-
- while(first != last) {
+ std::pair<std::multimap<std::string, std::string>::const_iterator,
+ std::multimap<std::string, std::string>::const_iterator> itrpair =
+ table.equal_range(n);
+ std::multimap<std::string, std::string>::const_iterator first = itrpair.first;
+ while(first != itrpair.second) {
v.push_back((*first).second);
++first;
}
diff --git a/src/HttpHeader.h b/src/HttpHeader.h
index 1a42ff4b..e1b19643 100644
--- a/src/HttpHeader.h
+++ b/src/HttpHeader.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <map>
-#include <deque>
+#include <vector>
#include <string>
#include <iosfwd>
@@ -71,7 +71,7 @@ public:
void put(const std::string& name, const std::string& value);
bool defined(const std::string& name) const;
const std::string& getFirst(const std::string& name) const;
- std::deque<std::string> get(const std::string& name) const;
+ std::vector<std::string> get(const std::string& name) const;
unsigned int getFirstAsUInt(const std::string& name) const;
uint64_t getFirstAsULLInt(const std::string& name) const;
diff --git a/src/HttpInitiateConnectionCommand.cc b/src/HttpInitiateConnectionCommand.cc
index 80758027..9f39ac8c 100644
--- a/src/HttpInitiateConnectionCommand.cc
+++ b/src/HttpInitiateConnectionCommand.cc
@@ -53,7 +53,7 @@ namespace aria2 {
HttpInitiateConnectionCommand::HttpInitiateConnectionCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e):
@@ -63,7 +63,7 @@ HttpInitiateConnectionCommand::~HttpInitiateConnectionCommand() {}
Command* HttpInitiateConnectionCommand::createNextCommand
(const std::string& hostname, const std::string& addr, uint16_t port,
- const std::deque<std::string>& resolvedAddresses,
+ const std::vector<std::string>& resolvedAddresses,
const SharedHandle<Request>& proxyRequest)
{
Command* command;
diff --git a/src/HttpInitiateConnectionCommand.h b/src/HttpInitiateConnectionCommand.h
index 6d16a7da..6c8c400d 100644
--- a/src/HttpInitiateConnectionCommand.h
+++ b/src/HttpInitiateConnectionCommand.h
@@ -43,7 +43,7 @@ class HttpInitiateConnectionCommand : public InitiateConnectionCommand {
protected:
virtual Command* createNextCommand
(const std::string& hostname, const std::string& addr, uint16_t port,
- const std::deque<std::string>& resolvedAddresses,
+ const std::vector<std::string>& resolvedAddresses,
const SharedHandle<Request>& proxyRequest);
public:
HttpInitiateConnectionCommand(int cuid, const SharedHandle<Request>& req,
diff --git a/src/HttpProxyRequestCommand.cc b/src/HttpProxyRequestCommand.cc
index f32974f7..92bf3d29 100644
--- a/src/HttpProxyRequestCommand.cc
+++ b/src/HttpProxyRequestCommand.cc
@@ -42,7 +42,7 @@ namespace aria2 {
HttpProxyRequestCommand::HttpProxyRequestCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e,
diff --git a/src/HttpProxyResponseCommand.cc b/src/HttpProxyResponseCommand.cc
index 281520dd..eb842f98 100644
--- a/src/HttpProxyResponseCommand.cc
+++ b/src/HttpProxyResponseCommand.cc
@@ -45,7 +45,7 @@ namespace aria2 {
HttpProxyResponseCommand::HttpProxyResponseCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const HttpConnectionHandle& httpConnection,
diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc
index 27f27382..d897df76 100644
--- a/src/HttpRequest.cc
+++ b/src/HttpRequest.cc
@@ -161,7 +161,7 @@ std::string HttpRequest::createRequest()
builtinHds.reserve(20);
builtinHds.push_back(std::make_pair("User-Agent:", userAgent));
std::string acceptTypes = "*/*";
- for(std::deque<std::string>::const_iterator i = _acceptTypes.begin(),
+ for(std::vector<std::string>::const_iterator i = _acceptTypes.begin(),
end = _acceptTypes.end(); i != end; ++i) {
strappend(acceptTypes, ",", (*i));
}
@@ -216,13 +216,13 @@ std::string HttpRequest::createRequest()
}
if(!_cookieStorage.isNull()) {
std::string cookiesValue;
- std::deque<Cookie> cookies =
+ std::vector<Cookie> cookies =
_cookieStorage->criteriaFind(getHost(),
getDir(),
Time().getTime(),
getProtocol() == Request::PROTO_HTTPS ?
true : false);
- for(std::deque<Cookie>::const_iterator itr = cookies.begin(),
+ for(std::vector<Cookie>::const_iterator itr = cookies.begin(),
end = cookies.end(); itr != end; ++itr) {
strappend(cookiesValue, (*itr).toString(), ";");
}
diff --git a/src/HttpRequest.h b/src/HttpRequest.h
index 56e9d245..c8a3c9e5 100644
--- a/src/HttpRequest.h
+++ b/src/HttpRequest.h
@@ -39,7 +39,6 @@
#include <cassert>
#include <string>
-#include <deque>
#include <vector>
#include "SharedHandle.h"
@@ -72,7 +71,7 @@ private:
std::vector<std::string> _headers;
- std::deque<std::string> _acceptTypes;
+ std::vector<std::string> _acceptTypes;
SharedHandle<CookieStorage> _cookieStorage;
@@ -258,9 +257,6 @@ public:
}
};
-typedef SharedHandle<HttpRequest> HttpRequestHandle;
-typedef std::deque<HttpRequestHandle> HttpRequests;
-
} // namespace aria2
#endif // _D_HTTP_REQUEST_H_
diff --git a/src/HttpRequestCommand.cc b/src/HttpRequestCommand.cc
index c6148e39..5bf996bd 100644
--- a/src/HttpRequestCommand.cc
+++ b/src/HttpRequestCommand.cc
@@ -58,7 +58,7 @@ namespace aria2 {
HttpRequestCommand::HttpRequestCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const HttpConnectionHandle& httpConnection,
@@ -85,7 +85,7 @@ createHttpRequest(const SharedHandle<Request>& req,
const SharedHandle<AuthConfigFactory>& authConfigFactory,
const SharedHandle<Request>& proxyRequest)
{
- HttpRequestHandle httpRequest(new HttpRequest());
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
httpRequest->setUserAgent(option->get(PREF_USER_AGENT));
httpRequest->setRequest(req);
httpRequest->setFileEntry(fileEntry);
@@ -122,7 +122,7 @@ bool HttpRequestCommand::executeInternal() {
}
if(_segments.empty()) {
- HttpRequestHandle httpRequest
+ SharedHandle<HttpRequest> httpRequest
(createHttpRequest(req,
_fileEntry,
SharedHandle<Segment>(),
@@ -134,10 +134,11 @@ bool HttpRequestCommand::executeInternal() {
_proxyRequest));
_httpConnection->sendRequest(httpRequest);
} else {
- for(Segments::iterator itr = _segments.begin(); itr != _segments.end(); ++itr) {
- const SegmentHandle& segment = *itr;
+ for(std::vector<SharedHandle<Segment> >::iterator itr = _segments.begin();
+ itr != _segments.end(); ++itr) {
+ const SharedHandle<Segment>& segment = *itr;
if(!_httpConnection->isIssued(segment)) {
- HttpRequestHandle httpRequest
+ SharedHandle<HttpRequest> httpRequest
(createHttpRequest(req,
_fileEntry,
segment,
diff --git a/src/HttpResponse.cc b/src/HttpResponse.cc
index e59b853c..2fec4f40 100644
--- a/src/HttpResponse.cc
+++ b/src/HttpResponse.cc
@@ -33,9 +33,6 @@
*/
/* copyright --> */
#include "HttpResponse.h"
-
-#include <deque>
-
#include "Request.h"
#include "Segment.h"
#include "HttpRequest.h"
@@ -116,8 +113,8 @@ std::string HttpResponse::determinFilename() const
void HttpResponse::retrieveCookie()
{
- std::deque<std::string> v = httpHeader->get(HttpHeader::SET_COOKIE);
- for(std::deque<std::string>::const_iterator itr = v.begin(); itr != v.end();
+ std::vector<std::string> v = httpHeader->get(HttpHeader::SET_COOKIE);
+ for(std::vector<std::string>::const_iterator itr = v.begin(); itr != v.end();
++itr) {
httpRequest->getCookieStorage()->parseAndStore(*itr,
httpRequest->getHost(),
diff --git a/src/HttpResponse.h b/src/HttpResponse.h
index 8d754c9f..693a332b 100644
--- a/src/HttpResponse.h
+++ b/src/HttpResponse.h
@@ -130,8 +130,6 @@ public:
bool supportsPersistentConnection() const;
};
-typedef SharedHandle<HttpResponse> HttpResponseHandle;
-
} // namespace aria2
#endif // _D_HTTP_RESPONSE_H_
diff --git a/src/HttpResponseCommand.cc b/src/HttpResponseCommand.cc
index 207c86e7..c6c8f5ac 100644
--- a/src/HttpResponseCommand.cc
+++ b/src/HttpResponseCommand.cc
@@ -77,7 +77,7 @@ static SharedHandle<Decoder> getContentEncodingDecoder
HttpResponseCommand::HttpResponseCommand
(int32_t cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
const HttpConnectionHandle& httpConnection,
@@ -91,8 +91,8 @@ HttpResponseCommand::~HttpResponseCommand() {}
bool HttpResponseCommand::executeInternal()
{
- HttpRequestHandle httpRequest = httpConnection->getFirstHttpRequest();
- HttpResponseHandle httpResponse = httpConnection->receiveResponse();
+ SharedHandle<HttpRequest> httpRequest = httpConnection->getFirstHttpRequest();
+ SharedHandle<HttpResponse> httpResponse = httpConnection->receiveResponse();
if(httpResponse.isNull()) {
// The server has not responded to our request yet.
// For socket->wantRead() == true, setReadCheckSocket(socket) is already
@@ -213,9 +213,10 @@ bool HttpResponseCommand::shouldInflateContentEncoding
!fileIsGzipped(httpResponse);
}
-bool HttpResponseCommand::handleDefaultEncoding(const HttpResponseHandle& httpResponse)
+bool HttpResponseCommand::handleDefaultEncoding
+(const SharedHandle<HttpResponse>& httpResponse)
{
- HttpRequestHandle httpRequest = httpResponse->getHttpRequest();
+ SharedHandle<HttpRequest> httpRequest = httpResponse->getHttpRequest();
_requestGroup->adjustFilename
(SharedHandle<BtProgressInfoFile>(new DefaultBtProgressInfoFile
(_requestGroup->getDownloadContext(),
@@ -244,7 +245,8 @@ bool HttpResponseCommand::handleDefaultEncoding(const HttpResponseHandle& httpRe
_requestGroup->loadAndOpenFile(infoFile);
File file(_requestGroup->getFirstFilePath());
- SegmentHandle segment = _requestGroup->getSegmentMan()->getSegment(cuid, 0);
+ SharedHandle<Segment> segment =
+ _requestGroup->getSegmentMan()->getSegment(cuid, 0);
// pipelining requires implicit range specified. But the request for
// this response most likely dones't contains range header. This means
// we can't continue to use this socket because server sends all entity
@@ -305,9 +307,10 @@ static SharedHandle<Decoder> getContentEncodingDecoder
return decoder;
}
-bool HttpResponseCommand::handleOtherEncoding(const HttpResponseHandle& httpResponse) {
+bool HttpResponseCommand::handleOtherEncoding
+(const SharedHandle<HttpResponse>& httpResponse) {
// We assume that RequestGroup::getTotalLength() == 0 here
- HttpRequestHandle httpRequest = httpResponse->getHttpRequest();
+ SharedHandle<HttpRequest> httpRequest = httpResponse->getHttpRequest();
if(getOption()->getAsBool(PREF_DRY_RUN)) {
_requestGroup->initPieceStorage();
@@ -379,7 +382,7 @@ bool HttpResponseCommand::skipResponseBody
}
HttpDownloadCommand* HttpResponseCommand::createHttpDownloadCommand
-(const HttpResponseHandle& httpResponse,
+(const SharedHandle<HttpResponse>& httpResponse,
const SharedHandle<Decoder>& transferEncodingDecoder,
const SharedHandle<Decoder>& contentEncodingDecoder)
{
diff --git a/src/IndexBtMessageValidator.h b/src/IndexBtMessageValidator.h
index 50751cad..60d1dc18 100644
--- a/src/IndexBtMessageValidator.h
+++ b/src/IndexBtMessageValidator.h
@@ -51,11 +51,9 @@ public:
_message(message),
_numPiece(numPiece) {}
- virtual bool validate(Errors& errors)
+ virtual void validate()
{
- // TODO
bittorrent::checkIndex(_message->getIndex(), _numPiece);
- return true;
}
};
diff --git a/src/InitiateConnectionCommand.cc b/src/InitiateConnectionCommand.cc
index 8045e549..ff81c450 100644
--- a/src/InitiateConnectionCommand.cc
+++ b/src/InitiateConnectionCommand.cc
@@ -53,7 +53,7 @@ namespace aria2 {
InitiateConnectionCommand::InitiateConnectionCommand
(int cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e):
@@ -79,7 +79,7 @@ bool InitiateConnectionCommand::executeInternal() {
hostname = proxyRequest->getHost();
port = proxyRequest->getPort();
}
- std::deque<std::string> addrs;
+ std::vector<std::string> addrs;
e->findAllCachedIPAddresses(std::back_inserter(addrs), hostname, port);
std::string ipaddr;
if(addrs.empty()) {
@@ -107,7 +107,7 @@ bool InitiateConnectionCommand::executeInternal() {
logger->info(MSG_NAME_RESOLUTION_COMPLETE, cuid,
hostname.c_str(),
strjoin(addrs.begin(), addrs.end(), ", ").c_str());
- for(std::deque<std::string>::const_iterator i = addrs.begin();
+ for(std::vector<std::string>::const_iterator i = addrs.begin();
i != addrs.end(); ++i) {
e->cacheIPAddress(hostname, *i, port);
}
diff --git a/src/InitiateConnectionCommand.h b/src/InitiateConnectionCommand.h
index 00043c2a..7c326786 100644
--- a/src/InitiateConnectionCommand.h
+++ b/src/InitiateConnectionCommand.h
@@ -57,7 +57,7 @@ protected:
// server.
virtual Command* createNextCommand
(const std::string& hostname, const std::string& addr, uint16_t port,
- const std::deque<std::string>& resolvedAddresses,
+ const std::vector<std::string>& resolvedAddresses,
const SharedHandle<Request>& proxyRequest) = 0;
public:
InitiateConnectionCommand(int cuid, const SharedHandle<Request>& req,
diff --git a/src/InitiateConnectionCommandFactory.cc b/src/InitiateConnectionCommandFactory.cc
index 9498e92a..5170fcbb 100644
--- a/src/InitiateConnectionCommandFactory.cc
+++ b/src/InitiateConnectionCommandFactory.cc
@@ -50,7 +50,7 @@ namespace aria2 {
Command*
InitiateConnectionCommandFactory::createInitiateConnectionCommand
(int32_t cuid,
- const RequestHandle& req,
+ const SharedHandle<Request>& req,
const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e)
diff --git a/src/MSEHandshake.cc b/src/MSEHandshake.cc
index 4ed7a769..db7cd35d 100644
--- a/src/MSEHandshake.cc
+++ b/src/MSEHandshake.cc
@@ -454,7 +454,7 @@ bool MSEHandshake::findReceiverHashMarker()
}
bool MSEHandshake::receiveReceiverHashAndPadCLength
-(const std::deque<SharedHandle<DownloadContext> >& downloadContexts)
+(const std::vector<SharedHandle<DownloadContext> >& downloadContexts)
{
size_t r = 20+VC_LENGTH+CRYPTO_BITFIELD_LENGTH+2/*PadC length*/-_rbufLength;
if(r > receiveNBytes(r)) {
@@ -464,7 +464,7 @@ bool MSEHandshake::receiveReceiverHashAndPadCLength
// pointing to the position of HASH('req2', SKEY) xor HASH('req3', S)
unsigned char* rbufptr = _rbuf;
SharedHandle<DownloadContext> downloadContext;
- for(std::deque<SharedHandle<DownloadContext> >::const_iterator i =
+ for(std::vector<SharedHandle<DownloadContext> >::const_iterator i =
downloadContexts.begin(); i != downloadContexts.end(); ++i) {
unsigned char md[20];
const BDE& torrentAttrs = (*i)->getAttribute(bittorrent::BITTORRENT);
diff --git a/src/MSEHandshake.h b/src/MSEHandshake.h
index 6e5075b7..8ce66386 100644
--- a/src/MSEHandshake.h
+++ b/src/MSEHandshake.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "BtConstants.h"
@@ -158,7 +158,7 @@ public:
bool findReceiverHashMarker();
bool receiveReceiverHashAndPadCLength
- (const std::deque<SharedHandle<DownloadContext> >& downloadContexts);
+ (const std::vector<SharedHandle<DownloadContext> >& downloadContexts);
bool receiveReceiverIALength();
diff --git a/src/MemoryBufferPreDownloadHandler.h b/src/MemoryBufferPreDownloadHandler.h
index c23d156b..78d0e136 100644
--- a/src/MemoryBufferPreDownloadHandler.h
+++ b/src/MemoryBufferPreDownloadHandler.h
@@ -49,8 +49,6 @@ public:
virtual void execute(RequestGroup* requestGroup);
};
-typedef SharedHandle<MemoryBufferPreDownloadHandler> MemoryBufferPreDownloadHandlerHandle;
-
} // namespace aria2
#endif // _D_MEMORY_BUFFER_PRE_DOWNLOAD_HANDLER_H_
diff --git a/src/Metalink2RequestGroup.cc b/src/Metalink2RequestGroup.cc
index fc3ff427..5ad017d8 100644
--- a/src/Metalink2RequestGroup.cc
+++ b/src/Metalink2RequestGroup.cc
@@ -71,9 +71,9 @@ Metalink2RequestGroup::Metalink2RequestGroup():
class AccumulateNonP2PUrl {
private:
- std::deque<std::string>& urlsPtr;
+ std::vector<std::string>& urlsPtr;
public:
- AccumulateNonP2PUrl(std::deque<std::string>& urlsPtr)
+ AccumulateNonP2PUrl(std::vector<std::string>& urlsPtr)
:urlsPtr(urlsPtr) {}
void operator()(const SharedHandle<MetalinkResource>& resource) {
@@ -103,9 +103,10 @@ public:
};
void
-Metalink2RequestGroup::generate(std::deque<SharedHandle<RequestGroup> >& groups,
- const std::string& metalinkFile,
- const SharedHandle<Option>& option)
+Metalink2RequestGroup::generate
+(std::vector<SharedHandle<RequestGroup> >& groups,
+ const std::string& metalinkFile,
+ const SharedHandle<Option>& option)
{
std::vector<SharedHandle<MetalinkEntry> > entries;
MetalinkHelper::parseAndQuery(entries, metalinkFile, option.get());
@@ -113,9 +114,10 @@ Metalink2RequestGroup::generate(std::deque<SharedHandle<RequestGroup> >& groups,
}
void
-Metalink2RequestGroup::generate(std::deque<SharedHandle<RequestGroup> >& groups,
- const SharedHandle<BinaryStream>& binaryStream,
- const SharedHandle<Option>& option)
+Metalink2RequestGroup::generate
+(std::vector<SharedHandle<RequestGroup> >& groups,
+ const SharedHandle<BinaryStream>& binaryStream,
+ const SharedHandle<Option>& option)
{
std::vector<SharedHandle<MetalinkEntry> > entries;
MetalinkHelper::parseAndQuery(entries, binaryStream, option.get());
@@ -135,7 +137,7 @@ void removeMetalinkContentTypes(const SharedHandle<RequestGroup>& group)
void
Metalink2RequestGroup::createRequestGroup
-(std::deque<SharedHandle<RequestGroup> >& groups,
+(std::vector<SharedHandle<RequestGroup> >& groups,
const std::vector<SharedHandle<MetalinkEntry> >& entries,
const SharedHandle<Option>& option)
{
@@ -143,7 +145,7 @@ Metalink2RequestGroup::createRequestGroup
_logger->notice(EX_NO_RESULT_WITH_YOUR_PREFS);
return;
}
- std::deque<int32_t> selectIndexes =
+ std::vector<int32_t> selectIndexes =
util::parseIntRange(option->get(PREF_SELECT_FILE)).flush();
std::sort(selectIndexes.begin(), selectIndexes.end());
std::vector<SharedHandle<MetalinkEntry> > selectedEntries;
@@ -194,10 +196,10 @@ Metalink2RequestGroup::createRequestGroup
#ifdef ENABLE_BITTORRENT
SharedHandle<RequestGroup> torrentRg;
if(!metaurl.empty()) {
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
uris.push_back(metaurl);
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, option, uris,
/* ignoreForceSequential = */true,
/* ignoreLocalPath = */true);
@@ -228,7 +230,7 @@ Metalink2RequestGroup::createRequestGroup
SharedHandle<MetalinkEntry> entry = mes[0];
_logger->info(MSG_METALINK_QUEUEING, entry->getPath().c_str());
entry->reorderResourcesByPriority();
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
std::for_each(entry->resources.begin(), entry->resources.end(),
AccumulateNonP2PUrl(uris));
// If piece hash is specified in the metalink,
@@ -282,7 +284,7 @@ Metalink2RequestGroup::createRequestGroup
(*i)->getPath().c_str());
_logger->debug("originalName = %s", (*i)->metaurls[0]->name.c_str());
(*i)->reorderResourcesByPriority();
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
std::for_each((*i)->resources.begin(), (*i)->resources.end(),
AccumulateNonP2PUrl(uris));
SharedHandle<FileEntry> fe
diff --git a/src/Metalink2RequestGroup.h b/src/Metalink2RequestGroup.h
index 00d2d712..066f842c 100644
--- a/src/Metalink2RequestGroup.h
+++ b/src/Metalink2RequestGroup.h
@@ -38,7 +38,6 @@
#include "common.h"
#include "SharedHandle.h"
#include <string>
-#include <deque>
#include <vector>
namespace aria2 {
@@ -54,17 +53,17 @@ private:
Logger* _logger;
void
- createRequestGroup(std::deque<SharedHandle<RequestGroup> >& groups,
+ createRequestGroup(std::vector<SharedHandle<RequestGroup> >& groups,
const std::vector<SharedHandle<MetalinkEntry> >& entries,
const SharedHandle<Option>& option);
public:
Metalink2RequestGroup();
- void generate(std::deque<SharedHandle<RequestGroup> >& groups,
+ void generate(std::vector<SharedHandle<RequestGroup> >& groups,
const std::string& metalinkFile,
const SharedHandle<Option>& option);
- void generate(std::deque<SharedHandle<RequestGroup> >& groups,
+ void generate(std::vector<SharedHandle<RequestGroup> >& groups,
const SharedHandle<BinaryStream>& binaryStream,
const SharedHandle<Option>& option);
};
diff --git a/src/MetalinkPostDownloadHandler.cc b/src/MetalinkPostDownloadHandler.cc
index 7e4456bf..5f43c709 100644
--- a/src/MetalinkPostDownloadHandler.cc
+++ b/src/MetalinkPostDownloadHandler.cc
@@ -61,7 +61,7 @@ MetalinkPostDownloadHandler::MetalinkPostDownloadHandler()
MetalinkPostDownloadHandler::~MetalinkPostDownloadHandler() {}
void MetalinkPostDownloadHandler::getNextRequestGroups
-(std::deque<SharedHandle<RequestGroup> >& groups,
+(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup)
{
if(_logger->debug()) {
@@ -73,7 +73,7 @@ void MetalinkPostDownloadHandler::getNextRequestGroups
try {
diskAdaptor->openExistingFile();
//requestOption.put(PREF_DIR, requestGroup->getDownloadContext()->getDir());
- std::deque<SharedHandle<RequestGroup> > newRgs;
+ std::vector<SharedHandle<RequestGroup> > newRgs;
Metalink2RequestGroup().generate(newRgs, diskAdaptor,
requestGroup->getOption());
requestGroup->followedBy(newRgs.begin(), newRgs.end());
diff --git a/src/MetalinkPostDownloadHandler.h b/src/MetalinkPostDownloadHandler.h
index a3fdc8a8..7223691d 100644
--- a/src/MetalinkPostDownloadHandler.h
+++ b/src/MetalinkPostDownloadHandler.h
@@ -47,12 +47,10 @@ public:
virtual ~MetalinkPostDownloadHandler();
virtual void
- getNextRequestGroups(std::deque<SharedHandle<RequestGroup> >& groups,
+ getNextRequestGroups(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup);
};
-typedef SharedHandle<MetalinkPostDownloadHandler> MetalinkPostDownloadHandlerHandle;
-
} // namespace aria2
#endif // _D_METALINK_POST_DOWNLOAD_HANDLER_H_
diff --git a/src/MultiDiskAdaptor.h b/src/MultiDiskAdaptor.h
index b8be938d..4b627258 100644
--- a/src/MultiDiskAdaptor.h
+++ b/src/MultiDiskAdaptor.h
@@ -37,8 +37,6 @@
#include "DiskAdaptor.h"
-#include <deque>
-
namespace aria2 {
class MultiFileAllocationIterator;
diff --git a/src/MultiFileAllocationIterator.cc b/src/MultiFileAllocationIterator.cc
index 5f79633d..6ab48821 100644
--- a/src/MultiFileAllocationIterator.cc
+++ b/src/MultiFileAllocationIterator.cc
@@ -58,9 +58,9 @@ void MultiFileAllocationIterator::allocateChunk()
if(_entries.empty()) {
break;
}
- DiskWriterEntryHandle entry = _entries.front();
+ SharedHandle<DiskWriterEntry> entry = _entries.front();
_entries.pop_front();
- FileEntryHandle fileEntry = entry->getFileEntry();
+ SharedHandle<FileEntry> fileEntry = entry->getFileEntry();
// Open file before calling DiskWriterEntry::size()
_diskAdaptor->openIfNot(entry, &DiskWriterEntry::openFile);
if(entry->needsFileAllocation() && entry->size() < fileEntry->getLength()) {
diff --git a/src/MultiUrlRequestInfo.cc b/src/MultiUrlRequestInfo.cc
index 88ec284e..ca73a9c6 100644
--- a/src/MultiUrlRequestInfo.cc
+++ b/src/MultiUrlRequestInfo.cc
@@ -77,7 +77,7 @@ static void handler(int signal) {
}
MultiUrlRequestInfo::MultiUrlRequestInfo
-(const RequestGroups& requestGroups,
+(const std::vector<SharedHandle<RequestGroup> >& requestGroups,
const SharedHandle<Option>& op,
const SharedHandle<StatCalc>& statCalc,
std::ostream& summaryOut)
diff --git a/src/MultiUrlRequestInfo.h b/src/MultiUrlRequestInfo.h
index c4e94c61..2191151a 100644
--- a/src/MultiUrlRequestInfo.h
+++ b/src/MultiUrlRequestInfo.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include <iosfwd>
#include "SharedHandle.h"
@@ -52,7 +52,7 @@ class StatCalc;
class MultiUrlRequestInfo {
private:
- std::deque<SharedHandle<RequestGroup> > _requestGroups;
+ std::vector<SharedHandle<RequestGroup> > _requestGroups;
SharedHandle<Option> _option;
@@ -66,7 +66,7 @@ private:
public:
MultiUrlRequestInfo
- (const std::deque<SharedHandle<RequestGroup> >& requestGroups,
+ (const std::vector<SharedHandle<RequestGroup> >& requestGroups,
const SharedHandle<Option>& op,
const SharedHandle<StatCalc>& statCalc,
std::ostream& summaryOut);
diff --git a/src/NameMatchOptionHandler.h b/src/NameMatchOptionHandler.h
index a0620079..f974c499 100644
--- a/src/NameMatchOptionHandler.h
+++ b/src/NameMatchOptionHandler.h
@@ -42,6 +42,7 @@
#include <algorithm>
#include <sstream>
#include <iterator>
+#include <vector>
#include "A2STR.h"
#include "util.h"
@@ -63,7 +64,7 @@ protected:
std::string _defaultValue;
- std::deque<std::string> _tags;
+ std::vector<std::string> _tags;
int _id;
diff --git a/src/NameResolver.cc b/src/NameResolver.cc
index 7efd066d..7a126d6e 100644
--- a/src/NameResolver.cc
+++ b/src/NameResolver.cc
@@ -46,7 +46,7 @@ namespace aria2 {
NameResolver::NameResolver():_socktype(0), _family(AF_UNSPEC) {}
-void NameResolver::resolve(std::deque<std::string>& resolvedAddresses,
+void NameResolver::resolve(std::vector<std::string>& resolvedAddresses,
const std::string& hostname)
{
struct addrinfo* res;
diff --git a/src/NameResolver.h b/src/NameResolver.h
index 1686aa84..0e9781b0 100644
--- a/src/NameResolver.h
+++ b/src/NameResolver.h
@@ -37,7 +37,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
namespace aria2 {
@@ -51,7 +51,7 @@ public:
/**
* Reolved addresses are pushed into addresses.
*/
- void resolve(std::deque<std::string>& resolvedAddresses,
+ void resolve(std::vector<std::string>& resolvedAddresses,
const std::string& hostname);
// specify SOCK_STREAM or SOCK_DGRAM
diff --git a/src/Netrc.cc b/src/Netrc.cc
index 253c2e5f..40b068b6 100644
--- a/src/Netrc.cc
+++ b/src/Netrc.cc
@@ -36,7 +36,6 @@
#include <fstream>
#include <algorithm>
-#include <vector>
#include "DlAbortEx.h"
#include "StringFormat.h"
@@ -85,7 +84,7 @@ void Netrc::parse(const std::string& path)
SET_ACCOUNT,
SET_MACDEF
};
- AuthenticatorHandle authenticator;
+ SharedHandle<Authenticator> authenticator;
std::string line;
STATE state = GET_TOKEN;
while(getline(f, line)) {
@@ -144,7 +143,7 @@ void Netrc::parse(const std::string& path)
storeAuthenticator(authenticator);
}
-void Netrc::storeAuthenticator(const AuthenticatorHandle& authenticator)
+void Netrc::storeAuthenticator(const SharedHandle<Authenticator>& authenticator)
{
if(!authenticator.isNull()) {
authenticators.push_back(authenticator);
@@ -157,22 +156,23 @@ private:
public:
AuthHostMatch(const std::string& hostname):hostname(hostname) {}
- bool operator()(const AuthenticatorHandle& authenticator)
+ bool operator()(const SharedHandle<Authenticator>& authenticator)
{
return authenticator->match(hostname);
}
};
-AuthenticatorHandle Netrc::findAuthenticator(const std::string& hostname) const
+SharedHandle<Authenticator>
+Netrc::findAuthenticator(const std::string& hostname) const
{
- Authenticators::const_iterator itr =
+ SharedHandle<Authenticator> res;
+ std::vector<SharedHandle<Authenticator> >::const_iterator itr =
std::find_if(authenticators.begin(), authenticators.end(),
AuthHostMatch(hostname));
- if(itr == authenticators.end()) {
- return SharedHandle<Authenticator>();
- } else {
- return *itr;
+ if(itr != authenticators.end()) {
+ res = *itr;
}
+ return res;
}
} // namespace aria2
diff --git a/src/Netrc.h b/src/Netrc.h
index 7be2581c..ec17bcba 100644
--- a/src/Netrc.h
+++ b/src/Netrc.h
@@ -36,12 +36,14 @@
#define _D_NETRC_H_
#include "common.h"
-#include "SharedHandle.h"
-#include "A2STR.h"
+
#include <string>
-#include <deque>
+#include <vector>
#include <iosfwd>
+#include "SharedHandle.h"
+#include "A2STR.h"
+
namespace aria2 {
class Authenticatable {
@@ -51,8 +53,6 @@ public:
virtual bool match(const std::string& hostname) const = 0;
};
-typedef SharedHandle<Authenticatable> AuthenticatableHandle;
-
class Authenticator : public Authenticatable {
private:
std::string machine;
@@ -107,9 +107,6 @@ public:
void setAccount(const std::string& account) { this->account = account; }
};
-typedef SharedHandle<Authenticator> AuthenticatorHandle;
-typedef std::deque<AuthenticatorHandle> Authenticators;
-
class DefaultAuthenticator : public Authenticator {
public:
DefaultAuthenticator() {}
@@ -127,13 +124,11 @@ public:
}
};
-typedef SharedHandle<DefaultAuthenticator> DefaultAuthenticatorHandle;
-
class Netrc {
private:
- Authenticators authenticators;
+ std::vector<SharedHandle<Authenticator> > authenticators;
- void storeAuthenticator(const AuthenticatorHandle& authenticator);
+ void storeAuthenticator(const SharedHandle<Authenticator>& authenticator);
std::string getRequiredNextToken(std::ifstream& f) const;
@@ -143,14 +138,15 @@ public:
void parse(const std::string& path);
- AuthenticatorHandle findAuthenticator(const std::string& hostname) const;
+ SharedHandle<Authenticator> findAuthenticator
+ (const std::string& hostname) const;
- const Authenticators& getAuthenticators() const
+ const std::vector<SharedHandle<Authenticator> >& getAuthenticators() const
{
return authenticators;
}
- void addAuthenticator(const AuthenticatorHandle& authenticator)
+ void addAuthenticator(const SharedHandle<Authenticator>& authenticator)
{
authenticators.push_back(authenticator);
}
@@ -168,8 +164,6 @@ public:
static const std::string MACDEF;
};
-typedef SharedHandle<Netrc> NetrcHandle;
-
} // namespace aria2
#endif // _D_NETRC_H_
diff --git a/src/NetrcAuthResolver.cc b/src/NetrcAuthResolver.cc
index 110c64be..2a3fbae4 100644
--- a/src/NetrcAuthResolver.cc
+++ b/src/NetrcAuthResolver.cc
@@ -40,7 +40,8 @@ namespace aria2 {
NetrcAuthResolver::NetrcAuthResolver():_ignoreDefault(false) {}
-AuthConfigHandle NetrcAuthResolver::resolveAuthConfig(const std::string& hostname)
+SharedHandle<AuthConfig>
+NetrcAuthResolver::resolveAuthConfig(const std::string& hostname)
{
if(_userDefinedAuthConfig.isNull()) {
return findNetrcAuthenticator(hostname);
@@ -49,12 +50,13 @@ AuthConfigHandle NetrcAuthResolver::resolveAuthConfig(const std::string& hostnam
}
}
-AuthConfigHandle NetrcAuthResolver::findNetrcAuthenticator(const std::string& hostname) const
+SharedHandle<AuthConfig>
+NetrcAuthResolver::findNetrcAuthenticator(const std::string& hostname) const
{
if(_netrc.isNull()) {
return _defaultAuthConfig;
} else {
- AuthenticatorHandle auth = _netrc->findAuthenticator(hostname);
+ SharedHandle<Authenticator> auth = _netrc->findAuthenticator(hostname);
if(auth.isNull()) {
return _defaultAuthConfig;
} else {
@@ -68,7 +70,7 @@ AuthConfigHandle NetrcAuthResolver::findNetrcAuthenticator(const std::string& ho
}
}
-void NetrcAuthResolver::setNetrc(const NetrcHandle& netrc)
+void NetrcAuthResolver::setNetrc(const SharedHandle<Netrc>& netrc)
{
_netrc = netrc;
}
diff --git a/src/NsCookieParser.cc b/src/NsCookieParser.cc
index 927cdb50..ed08ff8f 100644
--- a/src/NsCookieParser.cc
+++ b/src/NsCookieParser.cc
@@ -35,7 +35,6 @@
#include "NsCookieParser.h"
#include <fstream>
-#include <vector>
#include "util.h"
#include "A2STR.h"
@@ -76,7 +75,7 @@ static Cookie parseNsCookie(const std::string& nsCookieStr)
return c;
}
-std::deque<Cookie> NsCookieParser::parse(const std::string& filename)
+std::vector<Cookie> NsCookieParser::parse(const std::string& filename)
{
std::ifstream s(filename.c_str(), std::ios::binary);
if(!s) {
@@ -84,7 +83,7 @@ std::deque<Cookie> NsCookieParser::parse(const std::string& filename)
(StringFormat("Failed to open file %s", filename.c_str()).str());
}
std::string line;
- std::deque<Cookie> cookies;
+ std::vector<Cookie> cookies;
while(getline(s, line)) {
if(util::startsWith(line, A2STR::SHARP_C)) {
continue;
diff --git a/src/NsCookieParser.h b/src/NsCookieParser.h
index 6204a97d..5395ec80 100644
--- a/src/NsCookieParser.h
+++ b/src/NsCookieParser.h
@@ -36,9 +36,11 @@
#define _D_NS_COOKIE_PARSER_H_
#include "common.h"
-#include "Cookie.h"
+
#include <string>
-#include <deque>
+#include <vector>
+
+#include "Cookie.h"
namespace aria2 {
@@ -48,7 +50,7 @@ public:
~NsCookieParser();
- std::deque<Cookie> parse(const std::string& filename);
+ std::vector<Cookie> parse(const std::string& filename);
};
} // namespace aria2
diff --git a/src/NumberDecorator.h b/src/NumberDecorator.h
index e04671f8..c52c28fe 100644
--- a/src/NumberDecorator.h
+++ b/src/NumberDecorator.h
@@ -36,9 +36,11 @@
#define _D_NUMBER_DECORATOR_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <string>
+#include "SharedHandle.h"
+
namespace aria2 {
class NumberDecorator {
@@ -48,8 +50,6 @@ public:
virtual std::string decorate(unsigned int number) = 0;
};
-typedef SharedHandle<NumberDecorator> NumberDecoratorHandle;
-
} // namespace aria2;
#endif // _D_NUMBER_DECORATOR_H_
diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc
index e4e02647..b46f1acd 100644
--- a/src/OptionHandlerFactory.cc
+++ b/src/OptionHandlerFactory.cc
@@ -209,7 +209,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
#else // !HAVE_EPOLL
V_SELECT,
#endif // !HAVE_EPOLL
- std::deque<std::string>
+ std::vector<std::string>
(&params[0],&params[arrayLength(params)])));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
@@ -285,7 +285,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
(PREF_LOG_LEVEL,
TEXT_LOG_LEVEL,
V_DEBUG,
- std::deque<std::string>
+ std::vector<std::string>
(&params[0],
&params[arrayLength(params)])));
op->addTag(TAG_ADVANCED);
@@ -646,7 +646,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
(PREF_URI_SELECTOR,
TEXT_URI_SELECTOR,
V_FEEDBACK,
- std::deque<std::string>
+ std::vector<std::string>
(&params[0], &params[arrayLength(params)])));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -1304,7 +1304,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
(PREF_METALINK_PREFERRED_PROTOCOL,
TEXT_METALINK_PREFERRED_PROTOCOL,
V_NONE,
- std::deque<std::string>
+ std::vector<std::string>
(&params[0], &params[arrayLength(params)])));
op->addTag(TAG_METALINK);
handlers.push_back(op);
diff --git a/src/OptionHandlerImpl.h b/src/OptionHandlerImpl.h
index ded59c46..3489163f 100644
--- a/src/OptionHandlerImpl.h
+++ b/src/OptionHandlerImpl.h
@@ -43,6 +43,7 @@
#include <numeric>
#include <sstream>
#include <iterator>
+#include <vector>
#include "NameMatchOptionHandler.h"
#include "util.h"
@@ -416,12 +417,12 @@ public:
class ParameterOptionHandler : public NameMatchOptionHandler {
private:
- std::deque<std::string> _validParamValues;
+ std::vector<std::string> _validParamValues;
public:
ParameterOptionHandler(const std::string& optName,
const std::string& description,
const std::string& defaultValue,
- const std::deque<std::string>& validParamValues,
+ const std::vector<std::string>& validParamValues,
char shortName = 0):
NameMatchOptionHandler(optName, description, defaultValue,
OptionHandler::REQ_ARG, shortName),
@@ -470,7 +471,7 @@ public:
virtual void parseArg(Option& option, const std::string& optarg)
{
- std::deque<std::string>::const_iterator itr =
+ std::vector<std::string>::const_iterator itr =
std::find(_validParamValues.begin(), _validParamValues.end(), optarg);
if(itr == _validParamValues.end()) {
std::string msg = _optName;
@@ -478,7 +479,8 @@ public:
if(_validParamValues.size() == 0) {
msg += "''";
} else {
- for(std::deque<std::string>::const_iterator itr = _validParamValues.begin();
+ for(std::vector<std::string>::const_iterator itr =
+ _validParamValues.begin();
itr != _validParamValues.end(); ++itr) {
strappend(msg, "'", *itr, "' ");
}
diff --git a/src/OptionParser.cc b/src/OptionParser.cc
index 40c04bb9..7e8b56ac 100644
--- a/src/OptionParser.cc
+++ b/src/OptionParser.cc
@@ -127,7 +127,8 @@ static std::string createOptstring(InputIterator first, InputIterator last)
}
void OptionParser::parseArg
-(std::ostream& out, std::deque<std::string>& nonopts, int argc, char* const argv[])
+(std::ostream& out, std::vector<std::string>& nonopts,
+ int argc, char* const argv[])
{
size_t numPublicOption = countPublicOption(_optionHandlers.begin(),
_optionHandlers.end());
diff --git a/src/OptionParser.h b/src/OptionParser.h
index f9ec3ddc..8294d3ed 100644
--- a/src/OptionParser.h
+++ b/src/OptionParser.h
@@ -38,7 +38,6 @@
#include "common.h"
#include <string>
-#include <deque>
#include <vector>
#include <iosfwd>
@@ -69,7 +68,7 @@ public:
// Parses options in argv and writes option name and value to out in
// NAME=VALUE format. Non-option strings are stored in nonopts.
// Throws Exception when an unrecognized option is found.
- void parseArg(std::ostream& out, std::deque<std::string>& nonopts,
+ void parseArg(std::ostream& out, std::vector<std::string>& nonopts,
int argc, char* const argv[]);
void parse(Option& option, std::istream& ios);
diff --git a/src/PStringBuildVisitor.cc b/src/PStringBuildVisitor.cc
index b023d1d3..81d1171a 100644
--- a/src/PStringBuildVisitor.cc
+++ b/src/PStringBuildVisitor.cc
@@ -74,14 +74,14 @@ void PStringBuildVisitor::visit(PStringNumLoop& s)
void PStringBuildVisitor::visit(PStringSelect& s)
{
- const std::deque<std::string>& values = s.getValues();
- for(std::deque<std::string>::const_iterator i = values.begin();
+ const std::vector<std::string>& values = s.getValues();
+ for(std::vector<std::string>::const_iterator i = values.begin();
i != values.end(); ++i) {
PStringSegment(*i, s.getNext()).accept(*this);
}
}
-const std::deque<std::string>& PStringBuildVisitor::getURIs() const
+const std::vector<std::string>& PStringBuildVisitor::getURIs() const
{
return _uris;
}
diff --git a/src/PStringBuildVisitor.h b/src/PStringBuildVisitor.h
index ec428c01..687237cd 100644
--- a/src/PStringBuildVisitor.h
+++ b/src/PStringBuildVisitor.h
@@ -38,6 +38,7 @@
#include "PStringVisitor.h"
#include <deque>
+#include <vector>
#include <string>
#include "SharedHandle.h"
@@ -50,7 +51,7 @@ private:
std::deque<std::string> _buildQueue;
- std::deque<std::string> _uris;
+ std::vector<std::string> _uris;
public:
virtual void visit(PStringSegment& s);
@@ -59,7 +60,7 @@ public:
virtual void visit(PStringSelect& s);
- const std::deque<std::string>& getURIs() const;
+ const std::vector<std::string>& getURIs() const;
void reset();
};
diff --git a/src/PStringDatum.h b/src/PStringDatum.h
index 7b43b186..256c65fb 100644
--- a/src/PStringDatum.h
+++ b/src/PStringDatum.h
@@ -49,8 +49,6 @@ public:
virtual void accept(PStringVisitor& visitor) = 0;
};
-typedef SharedHandle<PStringDatum> PStringDatumHandle;
-
} // namespace aria2
#endif // _D_P_STRING_DATUM_H_
diff --git a/src/PStringNumLoop.h b/src/PStringNumLoop.h
index c32a2ec5..c7456764 100644
--- a/src/PStringNumLoop.h
+++ b/src/PStringNumLoop.h
@@ -52,15 +52,15 @@ private:
unsigned int _step;
- NumberDecoratorHandle _numberDecorator;
+ SharedHandle<NumberDecorator> _numberDecorator;
- PStringDatumHandle _next;
+ SharedHandle<PStringDatum> _next;
public:
PStringNumLoop(unsigned int startValue, unsigned int endValue,
unsigned int step,
- const NumberDecoratorHandle& nd,
- const PStringDatumHandle& next):
+ const SharedHandle<NumberDecorator>& nd,
+ const SharedHandle<PStringDatum>& next):
_startValue(startValue),
_endValue(endValue),
_step(step),
@@ -69,7 +69,7 @@ public:
PStringNumLoop(unsigned int startValue, unsigned int endValue,
unsigned int step,
- const NumberDecoratorHandle& nd):
+ const SharedHandle<NumberDecorator>& nd):
_startValue(startValue),
_endValue(endValue),
_step(step),
@@ -82,12 +82,12 @@ public:
visitor.visit(*this);
}
- const NumberDecoratorHandle& getNumberDecorator() const
+ const SharedHandle<NumberDecorator>& getNumberDecorator() const
{
return _numberDecorator;
}
- PStringDatumHandle getNext() const
+ SharedHandle<PStringDatum> getNext() const
{
return _next;
}
@@ -109,8 +109,6 @@ public:
};
-typedef SharedHandle<PStringNumLoop> PStringNumLoopHandle;
-
} // namespace aria2
#endif // _D_P_STRING_NUM_LOOP_H_
diff --git a/src/PStringSegment.h b/src/PStringSegment.h
index cedd8f7d..99d58da5 100644
--- a/src/PStringSegment.h
+++ b/src/PStringSegment.h
@@ -65,8 +65,6 @@ public:
SharedHandle<PStringDatum> getNext() const;
};
-typedef SharedHandle<PStringSegment> PStringSegmentHandle;
-
} // namespace aria2
#endif // _D_P_STRING_SEGMENT_H_
diff --git a/src/PStringSelect.h b/src/PStringSelect.h
index a6e3a09f..0cf40750 100644
--- a/src/PStringSelect.h
+++ b/src/PStringSelect.h
@@ -45,17 +45,17 @@ class PStringSelect : public PStringDatum
{
private:
- std::deque<std::string> _values;
+ std::vector<std::string> _values;
- PStringDatumHandle _next;
+ SharedHandle<PStringDatum> _next;
public:
- PStringSelect(const std::deque<std::string>& values,
- const PStringDatumHandle& next):
+ PStringSelect(const std::vector<std::string>& values,
+ const SharedHandle<PStringDatum>& next):
_values(values),
_next(next) {}
- PStringSelect(const std::deque<std::string>& values):
+ PStringSelect(const std::vector<std::string>& values):
_values(values) {}
virtual ~PStringSelect() {}
@@ -65,19 +65,17 @@ public:
visitor.visit(*this);
}
- const std::deque<std::string>& getValues() const
+ const std::vector<std::string>& getValues() const
{
return _values;
}
- PStringDatumHandle getNext() const
+ SharedHandle<PStringDatum> getNext() const
{
return _next;
}
};
-typedef SharedHandle<PStringSelect> PStringSelectHandle;
-
} // namespace aria2
#endif // _D_P_STRING_SELECT_H_
diff --git a/src/ParameterizedStringParser.cc b/src/ParameterizedStringParser.cc
index b21bbc98..d342838e 100644
--- a/src/ParameterizedStringParser.cc
+++ b/src/ParameterizedStringParser.cc
@@ -47,14 +47,15 @@
namespace aria2 {
-PStringDatumHandle ParameterizedStringParser::parse(const std::string& src)
+SharedHandle<PStringDatum>
+ParameterizedStringParser::parse(const std::string& src)
{
int offset = 0;
return diggPString(src, offset);
}
-PStringDatumHandle ParameterizedStringParser::diggPString(const std::string& src,
- int& offset)
+SharedHandle<PStringDatum>
+ParameterizedStringParser::diggPString(const std::string& src, int& offset)
{
if(src.size() == (size_t)offset) {
return SharedHandle<PStringDatum>();
@@ -69,8 +70,8 @@ PStringDatumHandle ParameterizedStringParser::diggPString(const std::string& src
}
}
-PStringDatumHandle ParameterizedStringParser::createSegment(const std::string& src,
- int& offset)
+SharedHandle<PStringDatum>
+ParameterizedStringParser::createSegment(const std::string& src, int& offset)
{
std::string::size_type nextDelimiterIndex = src.find_first_of("[{", offset);
if(nextDelimiterIndex == std::string::npos) {
@@ -78,31 +79,31 @@ PStringDatumHandle ParameterizedStringParser::createSegment(const std::string& s
}
std::string value = src.substr(offset, nextDelimiterIndex-offset);
offset = nextDelimiterIndex;
- PStringDatumHandle next = diggPString(src, offset);
+ SharedHandle<PStringDatum> next = diggPString(src, offset);
return SharedHandle<PStringDatum>(new PStringSegment(value, next));
}
-PStringDatumHandle ParameterizedStringParser::createSelect(const std::string& src,
- int& offset)
+SharedHandle<PStringDatum>
+ParameterizedStringParser::createSelect(const std::string& src, int& offset)
{
++offset;
std::string::size_type rightParenIndex = src.find("}", offset);
if(rightParenIndex == std::string::npos) {
throw DL_ABORT_EX("Missing '}' in the parameterized string.");
}
- std::deque<std::string> values;
+ std::vector<std::string> values;
util::split(src.substr(offset, rightParenIndex-offset),
std::back_inserter(values), ",", true);
if(values.empty()) {
throw DL_ABORT_EX("Empty {} is not allowed.");
}
offset = rightParenIndex+1;
- PStringDatumHandle next = diggPString(src, offset);
+ SharedHandle<PStringDatum> next = diggPString(src, offset);
return SharedHandle<PStringDatum>(new PStringSelect(values, next));
}
-PStringDatumHandle ParameterizedStringParser::createLoop(const std::string& src,
- int& offset)
+SharedHandle<PStringDatum>
+ParameterizedStringParser::createLoop(const std::string& src, int& offset)
{
++offset;
std::string::size_type rightParenIndex = src.find("]", offset);
@@ -127,7 +128,7 @@ PStringDatumHandle ParameterizedStringParser::createLoop(const std::string& src,
if(range.first.empty() || range.second.empty()) {
throw DL_ABORT_EX("Loop range missing.");
}
- NumberDecoratorHandle nd;
+ SharedHandle<NumberDecorator> nd;
unsigned int start;
unsigned int end;
if(util::isNumber(range.first) && util::isNumber(range.second)) {
@@ -146,7 +147,7 @@ PStringDatumHandle ParameterizedStringParser::createLoop(const std::string& src,
throw DL_ABORT_EX("Invalid loop range.");
}
- PStringDatumHandle next(diggPString(src, offset));
+ SharedHandle<PStringDatum> next(diggPString(src, offset));
return SharedHandle<PStringDatum>(new PStringNumLoop(start, end, step, nd, next));
}
diff --git a/src/Peer.cc b/src/Peer.cc
index ceef6f9b..a47171c8 100644
--- a/src/Peer.cc
+++ b/src/Peer.cc
@@ -300,7 +300,7 @@ size_t Peer::countPeerAllowedIndexSet() const
return _res->peerAllowedIndexSet().size();
}
-const std::deque<size_t>& Peer::getPeerAllowedIndexSet() const
+const std::vector<size_t>& Peer::getPeerAllowedIndexSet() const
{
assert(_res);
return _res->peerAllowedIndexSet();
diff --git a/src/Peer.h b/src/Peer.h
index 79158811..bb2c54f8 100644
--- a/src/Peer.h
+++ b/src/Peer.h
@@ -39,7 +39,7 @@
#include <cassert>
#include <string>
-#include <deque>
+#include <vector>
#include <algorithm>
#include "SharedHandle.h"
@@ -248,7 +248,7 @@ public:
size_t countPeerAllowedIndexSet() const;
- const std::deque<size_t>& getPeerAllowedIndexSet() const;
+ const std::vector<size_t>& getPeerAllowedIndexSet() const;
void addAmAllowedIndex(size_t index);
@@ -306,9 +306,6 @@ size_t countSeeder(InputIterator first, InputIterator last)
return std::count_if(first, last, mem_fun_sh(&Peer::isSeeder));
}
-typedef SharedHandle<Peer> PeerHandle;
-typedef std::deque<PeerHandle> Peers;
-
} // namespace aria2
#endif // _D_PEER_H_
diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc
index 67e4b26d..f26cec59 100644
--- a/src/PeerAbstractCommand.cc
+++ b/src/PeerAbstractCommand.cc
@@ -47,7 +47,7 @@
namespace aria2 {
PeerAbstractCommand::PeerAbstractCommand(int32_t cuid,
- const PeerHandle& peer,
+ const SharedHandle<Peer>& peer,
DownloadEngine* e,
const SocketHandle& s):
Command(cuid),
diff --git a/src/PeerInitiateConnectionCommand.cc b/src/PeerInitiateConnectionCommand.cc
index 6cbf9479..c6e783e9 100644
--- a/src/PeerInitiateConnectionCommand.cc
+++ b/src/PeerInitiateConnectionCommand.cc
@@ -54,7 +54,7 @@ namespace aria2 {
PeerInitiateConnectionCommand::PeerInitiateConnectionCommand
(int cuid,
RequestGroup* requestGroup,
- const PeerHandle& peer,
+ const SharedHandle<Peer>& peer,
DownloadEngine* e,
const SharedHandle<BtRuntime>& btRuntime,
bool mseHandshakeEnabled)
@@ -99,7 +99,7 @@ bool PeerInitiateConnectionCommand::executeInternal() {
// TODO this method removed when PeerBalancerCommand is implemented
bool PeerInitiateConnectionCommand::prepareForNextPeer(time_t wait) {
if(_peerStorage->isPeerAvailable() && _btRuntime->lessThanEqMinPeers()) {
- PeerHandle peer = _peerStorage->getUnusedPeer();
+ SharedHandle<Peer> peer = _peerStorage->getUnusedPeer();
peer->usedBy(e->newCUID());
PeerInitiateConnectionCommand* command =
new PeerInitiateConnectionCommand(peer->usedBy(), _requestGroup, peer, e,
diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc
index 9e731324..23274a78 100644
--- a/src/PeerInteractionCommand.cc
+++ b/src/PeerInteractionCommand.cc
@@ -78,7 +78,7 @@ namespace aria2 {
PeerInteractionCommand::PeerInteractionCommand
(int32_t cuid,
RequestGroup* requestGroup,
- const PeerHandle& p,
+ const SharedHandle<Peer>& p,
DownloadEngine* e,
const SharedHandle<BtRuntime>& btRuntime,
const SharedHandle<PieceStorage>& pieceStorage,
@@ -325,7 +325,7 @@ bool PeerInteractionCommand::executeInternal() {
// TODO this method removed when PeerBalancerCommand is implemented
bool PeerInteractionCommand::prepareForNextPeer(time_t wait) {
if(_peerStorage->isPeerAvailable() && _btRuntime->lessThanEqMinPeers()) {
- PeerHandle peer = _peerStorage->getUnusedPeer();
+ SharedHandle<Peer> peer = _peerStorage->getUnusedPeer();
peer->usedBy(e->newCUID());
PeerInitiateConnectionCommand* command =
new PeerInitiateConnectionCommand
diff --git a/src/PeerListenCommand.cc b/src/PeerListenCommand.cc
index cb213a91..1b9f237b 100644
--- a/src/PeerListenCommand.cc
+++ b/src/PeerListenCommand.cc
@@ -35,7 +35,6 @@
#include "PeerListenCommand.h"
#include <utility>
-#include <deque>
#include <algorithm>
#include "DownloadEngine.h"
@@ -72,11 +71,11 @@ bool PeerListenCommand::bindPort(uint16_t& port, IntSequence& seq)
{
socket.reset(new SocketCore());
- std::deque<int32_t> randPorts = seq.flush();
+ std::vector<int32_t> randPorts = seq.flush();
std::random_shuffle(randPorts.begin(), randPorts.end(),
*SimpleRandomizer::getInstance().get());
- for(std::deque<int32_t>::const_iterator portItr = randPorts.begin();
+ for(std::vector<int32_t>::const_iterator portItr = randPorts.begin();
portItr != randPorts.end(); ++portItr) {
if(!(0 < (*portItr) && (*portItr) <= 65535)) {
continue;
@@ -120,7 +119,7 @@ bool PeerListenCommand::execute() {
peerSocket->setNonBlockingMode();
- PeerHandle peer(new Peer(peerInfo.first, peerInfo.second, true));
+ SharedHandle<Peer> peer(new Peer(peerInfo.first, peerInfo.second, true));
int32_t cuid = e->newCUID();
Command* command =
new ReceiverMSEHandshakeCommand(cuid, peer, e, peerSocket);
diff --git a/src/PeerReceiveHandshakeCommand.cc b/src/PeerReceiveHandshakeCommand.cc
index b09e5acd..31299bc7 100644
--- a/src/PeerReceiveHandshakeCommand.cc
+++ b/src/PeerReceiveHandshakeCommand.cc
@@ -61,7 +61,7 @@ namespace aria2 {
PeerReceiveHandshakeCommand::PeerReceiveHandshakeCommand
(int32_t cuid,
- const PeerHandle& peer,
+ const SharedHandle<Peer>& peer,
DownloadEngine* e,
const SocketHandle& s,
const SharedHandle<PeerConnection>& peerConnection)
diff --git a/src/PeerSessionResource.cc b/src/PeerSessionResource.cc
index 7bbd33b2..60f53799 100644
--- a/src/PeerSessionResource.cc
+++ b/src/PeerSessionResource.cc
@@ -158,14 +158,14 @@ void PeerSessionResource::fastExtensionEnabled(bool b)
_fastExtensionEnabled = b;
}
-const std::deque<size_t>& PeerSessionResource::peerAllowedIndexSet() const
+const std::vector<size_t>& PeerSessionResource::peerAllowedIndexSet() const
{
return _peerAllowedIndexSet;
}
-static void updateIndexSet(std::deque<size_t>& c, size_t index)
+static void updateIndexSet(std::vector<size_t>& c, size_t index)
{
- std::deque<size_t>::iterator i = std::lower_bound(c.begin(), c.end(), index);
+ std::vector<size_t>::iterator i = std::lower_bound(c.begin(), c.end(), index);
if(i == c.end() || (*i) != index) {
c.insert(i, index);
}
diff --git a/src/PeerSessionResource.h b/src/PeerSessionResource.h
index 016cf7a1..7e191275 100644
--- a/src/PeerSessionResource.h
+++ b/src/PeerSessionResource.h
@@ -36,11 +36,13 @@
#define _D_PEER_SESSION_RESOURCE_H_
#include "common.h"
+
+#include <string>
+#include <vector>
+
#include "BtConstants.h"
#include "PeerStat.h"
#include "TimeA2.h"
-#include <string>
-#include <deque>
namespace aria2 {
@@ -67,9 +69,9 @@ private:
BitfieldMan* _bitfieldMan;
bool _fastExtensionEnabled;
// fast index set which a peer has sent to localhost.
- std::deque<size_t> _peerAllowedIndexSet;
+ std::vector<size_t> _peerAllowedIndexSet;
// fast index set which localhost has sent to a peer.
- std::deque<size_t> _amAllowedIndexSet;
+ std::vector<size_t> _amAllowedIndexSet;
bool _extendedMessagingEnabled;
Extensions _extensions;
bool _dhtEnabled;
@@ -165,14 +167,14 @@ public:
void fastExtensionEnabled(bool b);
// fast index set which a peer has sent to localhost.
- const std::deque<size_t>& peerAllowedIndexSet() const;
+ const std::vector<size_t>& peerAllowedIndexSet() const;
void addPeerAllowedIndex(size_t index);
bool peerAllowedIndexSetContains(size_t index) const;
// fast index set which localhost has sent to a peer.
- const std::deque<size_t>& amAllowedIndexSet() const
+ const std::vector<size_t>& amAllowedIndexSet() const
{
return _amAllowedIndexSet;
}
diff --git a/src/PeerStorage.h b/src/PeerStorage.h
index e946f6a1..857358fd 100644
--- a/src/PeerStorage.h
+++ b/src/PeerStorage.h
@@ -36,9 +36,12 @@
#define _D_PEER_STORAGE_H_
#include "common.h"
+
+#include <deque>
+#include <vector>
+
#include "SharedHandle.h"
#include "TransferStat.h"
-#include <deque>
namespace aria2 {
@@ -57,7 +60,7 @@ public:
/**
* Adds all peers in peers to internal peer list.
*/
- virtual void addPeer(const std::deque<SharedHandle<Peer> >& peers) = 0;
+ virtual void addPeer(const std::vector<SharedHandle<Peer> >& peers) = 0;
/**
* Returns internal peer list.
@@ -78,7 +81,7 @@ public:
/**
* Returns the list of peers which are currently connected from localhost.
*/
- virtual void getActivePeers(std::deque<SharedHandle<Peer> >& peers) = 0;
+ virtual void getActivePeers(std::vector<SharedHandle<Peer> >& peers) = 0;
/**
* Calculates current download/upload statistics.
diff --git a/src/Piece.h b/src/Piece.h
index 02cdeb87..badd3ccc 100644
--- a/src/Piece.h
+++ b/src/Piece.h
@@ -38,7 +38,6 @@
#include "common.h"
#include <stdint.h>
-#include <deque>
#include <vector>
#include <string>
@@ -180,9 +179,6 @@ public:
void reconfigure(size_t length);
};
-typedef SharedHandle<Piece> PieceHandle;
-typedef std::deque<PieceHandle> Pieces;
-
} // namespace aria2
#endif // _D_PIECE_H_
diff --git a/src/PieceStorage.h b/src/PieceStorage.h
index 30514704..6934b39e 100644
--- a/src/PieceStorage.h
+++ b/src/PieceStorage.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
#include "TimeA2.h"
@@ -77,7 +77,7 @@ public:
*/
virtual SharedHandle<Piece> getMissingPiece
(const SharedHandle<Peer>& peer,
- const std::deque<size_t>& excludedIndexes) = 0;
+ const std::vector<size_t>& excludedIndexes) = 0;
/**
* Returns a piece that the peer has but localhost doesn't.
@@ -95,7 +95,7 @@ public:
*/
virtual SharedHandle<Piece> getMissingFastPiece
(const SharedHandle<Peer>& peer,
- const std::deque<size_t>& excludedIndexes) = 0;
+ const std::vector<size_t>& excludedIndexes) = 0;
#endif // ENABLE_BITTORRENT
@@ -204,7 +204,7 @@ public:
* indexes is filled with piece index which is not advertised by the caller
* command and newer than lastCheckTime.
*/
- virtual void getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ virtual void getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
int32_t myCuid,
const Time& lastCheckTime) = 0;
@@ -225,11 +225,11 @@ public:
virtual void markPiecesDone(uint64_t length) = 0;
virtual void
- addInFlightPiece(const std::deque<SharedHandle<Piece> >& pieces) = 0;
+ addInFlightPiece(const std::vector<SharedHandle<Piece> >& pieces) = 0;
virtual size_t countInFlightPiece() = 0;
- virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces) = 0;
+ virtual void getInFlightPieces(std::vector<SharedHandle<Piece> >& pieces) = 0;
virtual void addPieceStats(size_t index) = 0;
diff --git a/src/PiecedSegment.cc b/src/PiecedSegment.cc
index eb506099..bc774122 100644
--- a/src/PiecedSegment.cc
+++ b/src/PiecedSegment.cc
@@ -38,7 +38,8 @@
namespace aria2 {
-PiecedSegment::PiecedSegment(size_t pieceLength, const PieceHandle& piece):
+PiecedSegment::PiecedSegment
+(size_t pieceLength, const SharedHandle<Piece>& piece):
_pieceLength(pieceLength), _overflowLength(0), _piece(piece)
{
size_t index;
@@ -123,7 +124,7 @@ void PiecedSegment::clear()
#endif // ENABLE_MESSAGE_DIGEST
}
-PieceHandle PiecedSegment::getPiece() const
+SharedHandle<Piece> PiecedSegment::getPiece() const
{
return _piece;
}
diff --git a/src/PiecedSegment.h b/src/PiecedSegment.h
index ec96c112..544347a1 100644
--- a/src/PiecedSegment.h
+++ b/src/PiecedSegment.h
@@ -99,8 +99,6 @@ public:
virtual SharedHandle<Piece> getPiece() const;
};
-typedef SharedHandle<PiecedSegment> PiecedSegmentHandle;
-
} // namespace aria2
#endif // _D_PIECED_SEGMENT_H_
diff --git a/src/PostDownloadHandler.h b/src/PostDownloadHandler.h
index 8a5c9b9c..d442bd53 100644
--- a/src/PostDownloadHandler.h
+++ b/src/PostDownloadHandler.h
@@ -37,6 +37,8 @@
#include "DownloadHandler.h"
+#include <vector>
+
namespace aria2 {
class PostDownloadHandler:public DownloadHandler
@@ -47,13 +49,10 @@ public:
virtual ~PostDownloadHandler() {}
virtual void
- getNextRequestGroups(std::deque<SharedHandle<RequestGroup> >& groups,
+ getNextRequestGroups(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup) = 0;
};
-typedef SharedHandle<PostDownloadHandler> PostDownloadHandlerHandle;
-typedef std::deque<PostDownloadHandlerHandle> PostDownloadHandlers;
-
} // namespace aria2
#endif // _D_POST_DOWNLOAD_HANDLER_H_
diff --git a/src/PreDownloadHandler.h b/src/PreDownloadHandler.h
index fc4501a4..bc0a377d 100644
--- a/src/PreDownloadHandler.h
+++ b/src/PreDownloadHandler.h
@@ -49,9 +49,6 @@ public:
virtual void execute(RequestGroup* requestGroup) = 0;
};
-typedef SharedHandle<PreDownloadHandler> PreDownloadHandlerHandle;
-typedef std::deque<PreDownloadHandlerHandle> PreDownloadHandlers;
-
} // namespace aria2
#endif // _D_PRE_DOWNLOAD_HANDLER_H_
diff --git a/src/RangeBtMessageValidator.h b/src/RangeBtMessageValidator.h
index d1be175d..87e96385 100644
--- a/src/RangeBtMessageValidator.h
+++ b/src/RangeBtMessageValidator.h
@@ -54,16 +54,14 @@ public:
_numPiece(numPiece),
_pieceLength(pieceLength) {}
- virtual bool validate(Errors& errors)
+ virtual void validate()
{
- // TODO
bittorrent::checkIndex(_message->getIndex(), _numPiece);
bittorrent::checkBegin(_message->getBegin(), _pieceLength);
bittorrent::checkLength(_message->getLength());
bittorrent::checkRange(_message->getBegin(),
_message->getLength(),
_pieceLength);
- return true;
}
};
diff --git a/src/ReceiverMSEHandshakeCommand.cc b/src/ReceiverMSEHandshakeCommand.cc
index d2dd0476..5cc71438 100644
--- a/src/ReceiverMSEHandshakeCommand.cc
+++ b/src/ReceiverMSEHandshakeCommand.cc
@@ -135,7 +135,7 @@ bool ReceiverMSEHandshakeCommand::executeInternal()
break;
}
case RECEIVER_RECEIVE_PAD_C_LENGTH: {
- std::deque<SharedHandle<DownloadContext> > downloadContexts;
+ std::vector<SharedHandle<DownloadContext> > downloadContexts;
e->getBtRegistry()->getAllDownloadContext
(std::back_inserter(downloadContexts));
if(_mseHandshake->receiveReceiverHashAndPadCLength(downloadContexts)) {
diff --git a/src/Request.h b/src/Request.h
index 0cde6109..907f2b81 100644
--- a/src/Request.h
+++ b/src/Request.h
@@ -37,7 +37,6 @@
#include "common.h"
#include <string>
-#include <deque>
#include "SharedHandle.h"
#include "PeerStat.h"
@@ -218,10 +217,6 @@ public:
};
-typedef SharedHandle<Request> RequestHandle;
-typedef WeakHandle<Request> RequestWeakHandle;
-typedef std::deque<RequestHandle> Requests;
-
} // namespace aria2
#endif // _D_REQUEST_H_
diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc
index 05fc74dd..c6552f21 100644
--- a/src/RequestGroup.cc
+++ b/src/RequestGroup.cc
@@ -190,7 +190,7 @@ void RequestGroup::closeFile()
}
void RequestGroup::createInitialCommand
-(std::deque<Command*>& commands, DownloadEngine* e)
+(std::vector<Command*>& commands, DownloadEngine* e)
{
#ifdef ENABLE_BITTORRENT
{
@@ -272,7 +272,7 @@ void RequestGroup::createInitialCommand
(progressInfoFile))));
if(metadataGetMode) {
if(_option->getAsBool(PREF_ENABLE_DHT)) {
- std::deque<Command*> dhtCommands;
+ std::vector<Command*> dhtCommands;
DHTSetup().setup(dhtCommands, e, _option.get());
e->addCommand(dhtCommands);
} else {
@@ -333,11 +333,11 @@ void RequestGroup::createInitialCommand
if(torrentAttrs[bittorrent::PRIVATE].i() == 0 &&
_option->getAsBool(PREF_ENABLE_DHT)) {
- std::deque<Command*> dhtCommands;
+ std::vector<Command*> dhtCommands;
DHTSetup().setup(dhtCommands, e, _option.get());
e->addCommand(dhtCommands);
if(!torrentAttrs[bittorrent::NODES].empty() && DHTSetup::initialized()) {
- std::deque<std::pair<std::string, uint16_t> > entryPoints;
+ std::vector<std::pair<std::string, uint16_t> > entryPoints;
const BDE& nodes = torrentAttrs[bittorrent::NODES];
for(BDE::List::const_iterator i = nodes.listBegin();
i != nodes.listEnd(); ++i) {
@@ -354,7 +354,7 @@ void RequestGroup::createInitialCommand
e->commands.push_back(command);
}
}
- CheckIntegrityEntryHandle entry(new BtCheckIntegrityEntry(this));
+ SharedHandle<CheckIntegrityEntry> entry(new BtCheckIntegrityEntry(this));
// --bt-seed-unverified=true is given and download has completed, skip
// validation for piece hashes.
if(_option->getAsBool(PREF_BT_SEED_UNVERIFIED) &&
@@ -444,9 +444,10 @@ void RequestGroup::createInitialCommand
}
}
-void RequestGroup::processCheckIntegrityEntry(std::deque<Command*>& commands,
- const CheckIntegrityEntryHandle& entry,
- DownloadEngine* e)
+void RequestGroup::processCheckIntegrityEntry
+(std::vector<Command*>& commands,
+ const SharedHandle<CheckIntegrityEntry>& entry,
+ DownloadEngine* e)
{
#ifdef ENABLE_MESSAGE_DIGEST
if(_option->getAsBool(PREF_CHECK_INTEGRITY) &&
@@ -666,7 +667,7 @@ bool RequestGroup::tryAutoFileRenaming()
return false;
}
-void RequestGroup::createNextCommandWithAdj(std::deque<Command*>& commands,
+void RequestGroup::createNextCommandWithAdj(std::vector<Command*>& commands,
DownloadEngine* e, int numAdj)
{
int numCommand;
@@ -682,7 +683,7 @@ void RequestGroup::createNextCommandWithAdj(std::deque<Command*>& commands,
}
}
-void RequestGroup::createNextCommand(std::deque<Command*>& commands,
+void RequestGroup::createNextCommand(std::vector<Command*>& commands,
DownloadEngine* e,
unsigned int numCommand)
{
@@ -852,7 +853,8 @@ void RequestGroup::preDownloadProcessing()
getFirstFilePath().c_str());
}
try {
- for(PreDownloadHandlers::const_iterator itr = _preDownloadHandlers.begin();
+ for(std::vector<SharedHandle<PreDownloadHandler> >::const_iterator itr =
+ _preDownloadHandlers.begin();
itr != _preDownloadHandlers.end(); ++itr) {
if((*itr)->canHandle(this)) {
(*itr)->execute(this);
@@ -870,14 +872,15 @@ void RequestGroup::preDownloadProcessing()
}
void RequestGroup::postDownloadProcessing
-(std::deque<SharedHandle<RequestGroup> >& groups)
+(std::vector<SharedHandle<RequestGroup> >& groups)
{
if(_logger->debug()) {
_logger->debug("Finding PostDownloadHandler for path %s.",
getFirstFilePath().c_str());
}
try {
- for(PostDownloadHandlers::const_iterator itr = _postDownloadHandlers.begin();
+ for(std::vector<SharedHandle<PostDownloadHandler> >::const_iterator itr =
+ _postDownloadHandlers.begin();
itr != _postDownloadHandlers.end(); ++itr) {
if((*itr)->canHandle(this)) {
(*itr)->getNextRequestGroups(groups, this);
@@ -940,12 +943,14 @@ void RequestGroup::setDiskWriterFactory(const DiskWriterFactoryHandle& diskWrite
_diskWriterFactory = diskWriterFactory;
}
-void RequestGroup::addPostDownloadHandler(const PostDownloadHandlerHandle& handler)
+void RequestGroup::addPostDownloadHandler
+(const SharedHandle<PostDownloadHandler>& handler)
{
_postDownloadHandlers.push_back(handler);
}
-void RequestGroup::addPreDownloadHandler(const PreDownloadHandlerHandle& handler)
+void RequestGroup::addPreDownloadHandler
+(const SharedHandle<PreDownloadHandler>& handler)
{
_preDownloadHandlers.push_back(handler);
}
diff --git a/src/RequestGroup.h b/src/RequestGroup.h
index 4d85ec40..d7672b82 100644
--- a/src/RequestGroup.h
+++ b/src/RequestGroup.h
@@ -38,7 +38,6 @@
#include "common.h"
#include <string>
-#include <deque>
#include <algorithm>
#include <vector>
@@ -120,11 +119,11 @@ private:
HaltReason _haltReason;
- std::deque<SharedHandle<PreDownloadHandler> > _preDownloadHandlers;
+ std::vector<SharedHandle<PreDownloadHandler> > _preDownloadHandlers;
- std::deque<SharedHandle<PostDownloadHandler> > _postDownloadHandlers;
+ std::vector<SharedHandle<PostDownloadHandler> > _postDownloadHandlers;
- std::deque<std::string> _acceptTypes;
+ std::vector<std::string> _acceptTypes;
SharedHandle<URISelector> _uriSelector;
@@ -197,13 +196,13 @@ public:
// Returns first bootstrap commands to initiate a download.
// If this is HTTP/FTP download and file size is unknown, only 1 command
// (usually, HttpInitiateConnection or FtpInitiateConnection) will be created.
- void createInitialCommand(std::deque<Command*>& commands,
+ void createInitialCommand(std::vector<Command*>& commands,
DownloadEngine* e);
- void createNextCommandWithAdj(std::deque<Command*>& commands,
+ void createNextCommandWithAdj(std::vector<Command*>& commands,
DownloadEngine* e, int numAdj);
- void createNextCommand(std::deque<Command*>& commands,
+ void createNextCommand(std::vector<Command*>& commands,
DownloadEngine* e, unsigned int numCommand);
bool downloadFinished() const;
@@ -338,7 +337,7 @@ public:
void releaseRuntimeResource(DownloadEngine* e);
- void postDownloadProcessing(std::deque<SharedHandle<RequestGroup> >& groups);
+ void postDownloadProcessing(std::vector<SharedHandle<RequestGroup> >& groups);
void addPostDownloadHandler(const SharedHandle<PostDownloadHandler>& handler);
@@ -350,7 +349,7 @@ public:
void clearPreDownloadHandler();
- void processCheckIntegrityEntry(std::deque<Command*>& commands,
+ void processCheckIntegrityEntry(std::vector<Command*>& commands,
const SharedHandle<CheckIntegrityEntry>& entry,
DownloadEngine* e);
@@ -376,7 +375,7 @@ public:
void reportDownloadFinished();
- const std::deque<std::string>& getAcceptTypes() const
+ const std::vector<std::string>& getAcceptTypes() const
{
return _acceptTypes;
}
@@ -494,10 +493,6 @@ public:
static int32_t newGID();
};
-typedef SharedHandle<RequestGroup> RequestGroupHandle;
-typedef WeakHandle<RequestGroup> RequestGroupWeakHandle;
-typedef std::deque<RequestGroupHandle> RequestGroups;
-
} // namespace aria2
#endif // _D_REQUEST_GROUP_H_
diff --git a/src/RequestGroupMan.cc b/src/RequestGroupMan.cc
index 84d0816a..72b03ca4 100644
--- a/src/RequestGroupMan.cc
+++ b/src/RequestGroupMan.cc
@@ -70,10 +70,11 @@
namespace aria2 {
-RequestGroupMan::RequestGroupMan(const RequestGroups& requestGroups,
- unsigned int maxSimultaneousDownloads,
- const Option* option):
- _reservedGroups(requestGroups),
+RequestGroupMan::RequestGroupMan
+(const std::vector<SharedHandle<RequestGroup> >& requestGroups,
+ unsigned int maxSimultaneousDownloads,
+ const Option* option):
+ _reservedGroups(requestGroups.begin(), requestGroups.end()),
_logger(LogFactory::getInstance()),
_maxSimultaneousDownloads(maxSimultaneousDownloads),
_gidCounter(0),
@@ -95,23 +96,26 @@ bool RequestGroupMan::downloadFinished()
return _requestGroups.empty() && _reservedGroups.empty();
}
-void RequestGroupMan::addRequestGroup(const RequestGroupHandle& group)
+void RequestGroupMan::addRequestGroup
+(const SharedHandle<RequestGroup>& group)
{
_requestGroups.push_back(group);
}
-void RequestGroupMan::addReservedGroup(const RequestGroups& groups)
+void RequestGroupMan::addReservedGroup
+(const std::vector<SharedHandle<RequestGroup> >& groups)
{
_reservedGroups.insert(_reservedGroups.end(), groups.begin(), groups.end());
}
-void RequestGroupMan::addReservedGroup(const SharedHandle<RequestGroup>& group)
+void RequestGroupMan::addReservedGroup
+(const SharedHandle<RequestGroup>& group)
{
_reservedGroups.push_back(group);
}
void RequestGroupMan::insertReservedGroup
-(size_t pos, const std::deque<SharedHandle<RequestGroup> >& groups)
+(size_t pos, const std::vector<SharedHandle<RequestGroup> >& groups)
{
_reservedGroups.insert
(_reservedGroups.begin()+std::min(_reservedGroups.size(), pos),
@@ -130,7 +134,7 @@ size_t RequestGroupMan::countRequestGroup() const
return _requestGroups.size();
}
-RequestGroupHandle RequestGroupMan::getRequestGroup(size_t index) const
+SharedHandle<RequestGroup> RequestGroupMan::getRequestGroup(size_t index) const
{
if(index < _requestGroups.size()) {
return _requestGroups[index];
@@ -342,7 +346,7 @@ public:
} else {
group->saveControlFile();
}
- RequestGroups nextGroups;
+ std::vector<SharedHandle<RequestGroup> > nextGroups;
group->postDownloadProcessing(nextGroups);
if(!nextGroups.empty()) {
if(_logger->debug()) {
@@ -382,9 +386,9 @@ public:
if(!group->getSegmentMan().isNull()) {
bool singleConnection =
group->getSegmentMan()->getPeerStats().size() == 1;
- const std::deque<SharedHandle<PeerStat> >& peerStats =
+ const std::vector<SharedHandle<PeerStat> >& peerStats =
group->getSegmentMan()->getFastestPeerStats();
- for(std::deque<SharedHandle<PeerStat> >::const_iterator i =
+ for(std::vector<SharedHandle<PeerStat> >::const_iterator i =
peerStats.begin(); i != peerStats.end(); ++i) {
if((*i)->getHostname().empty() || (*i)->getProtocol().empty()) {
continue;
@@ -467,7 +471,7 @@ void RequestGroupMan::configureRequestGroup
}
static void createInitialCommand(const SharedHandle<RequestGroup>& requestGroup,
- std::deque<Command*>& commands,
+ std::vector<Command*>& commands,
DownloadEngine* e)
{
requestGroup->createInitialCommand(commands, e);
@@ -479,13 +483,13 @@ void RequestGroupMan::fillRequestGroupFromReserver(DownloadEngine* e)
if(_maxSimultaneousDownloads <= _requestGroups.size()) {
return;
}
- RequestGroups temp;
+ std::vector<SharedHandle<RequestGroup> > temp;
unsigned int count = 0;
size_t num = _maxSimultaneousDownloads-_requestGroups.size();
while(count < num && !_reservedGroups.empty()) {
- RequestGroupHandle groupToAdd = _reservedGroups.front();
+ SharedHandle<RequestGroup> groupToAdd = _reservedGroups.front();
_reservedGroups.pop_front();
- Commands commands;
+ std::vector<Command*> commands;
try {
if(!groupToAdd->isDependencyResolved()) {
temp.push_back(groupToAdd);
@@ -525,8 +529,8 @@ void RequestGroupMan::fillRequestGroupFromReserver(DownloadEngine* e)
void RequestGroupMan::save()
{
- for(RequestGroups::iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
if((*itr)->allDownloadFinished()) {
(*itr)->removeControlFile();
} else {
@@ -541,8 +545,8 @@ void RequestGroupMan::save()
void RequestGroupMan::closeFile()
{
- for(RequestGroups::iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
(*itr)->closeFile();
}
}
@@ -553,8 +557,8 @@ RequestGroupMan::DownloadStat RequestGroupMan::getDownloadStat() const
size_t error = 0;
size_t inprogress = 0;
downloadresultcode::RESULT lastError = downloadresultcode::FINISHED;
- for(std::deque<SharedHandle<DownloadResult> >::const_iterator itr = _downloadResults.begin();
- itr != _downloadResults.end(); ++itr) {
+ for(std::deque<SharedHandle<DownloadResult> >::const_iterator itr =
+ _downloadResults.begin(); itr != _downloadResults.end(); ++itr) {
if((*itr)->result == downloadresultcode::FINISHED) {
++finished;
} else {
@@ -562,8 +566,8 @@ RequestGroupMan::DownloadStat RequestGroupMan::getDownloadStat() const
lastError = (*itr)->result;
}
}
- for(RequestGroups::const_iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::const_iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
DownloadResultHandle result = (*itr)->createDownloadResult();
if(result->result == downloadresultcode::FINISHED) {
++finished;
@@ -613,8 +617,8 @@ void RequestGroupMan::showDownloadResults(std::ostream& o) const
}
o << formatDownloadResult(status, *itr) << "\n";
}
- for(RequestGroups::const_iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::const_iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
DownloadResultHandle result = (*itr)->createDownloadResult();
std::string status;
if(result->result == downloadresultcode::FINISHED) {
@@ -691,9 +695,9 @@ bool RequestGroupMan::isSameFileBeingDownloaded(RequestGroup* requestGroup) cons
if(!requestGroup->isPreLocalFileCheckEnabled()) {
return false;
}
- std::deque<std::string> files;
- for(RequestGroups::const_iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ std::vector<std::string> files;
+ for(std::deque<SharedHandle<RequestGroup> >::const_iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
if((*itr).get() != requestGroup) {
const std::vector<SharedHandle<FileEntry> >& entries =
(*itr)->getDownloadContext()->getFileEntries();
@@ -711,16 +715,16 @@ bool RequestGroupMan::isSameFileBeingDownloaded(RequestGroup* requestGroup) cons
void RequestGroupMan::halt()
{
- for(RequestGroups::const_iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::const_iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
(*itr)->setHaltRequested(true);
}
}
void RequestGroupMan::forceHalt()
{
- for(RequestGroups::const_iterator itr = _requestGroups.begin();
- itr != _requestGroups.end(); ++itr) {
+ for(std::deque<SharedHandle<RequestGroup> >::const_iterator itr =
+ _requestGroups.begin(); itr != _requestGroups.end(); ++itr) {
(*itr)->setForceHaltRequested(true);
}
}
diff --git a/src/RequestGroupMan.h b/src/RequestGroupMan.h
index 7f138f72..6f63ca92 100644
--- a/src/RequestGroupMan.h
+++ b/src/RequestGroupMan.h
@@ -40,6 +40,7 @@
#include <string>
#include <deque>
#include <iosfwd>
+#include <vector>
#include "SharedHandle.h"
#include "DownloadResult.h"
@@ -83,7 +84,7 @@ private:
void configureRequestGroup
(const SharedHandle<RequestGroup>& requestGroup) const;
public:
- RequestGroupMan(const std::deque<SharedHandle<RequestGroup> >& requestGroups,
+ RequestGroupMan(const std::vector<SharedHandle<RequestGroup> >& requestGroups,
unsigned int maxSimultaneousDownloads,
const Option* option);
@@ -103,12 +104,12 @@ public:
void addRequestGroup(const SharedHandle<RequestGroup>& group);
- void addReservedGroup(const std::deque<SharedHandle<RequestGroup> >& groups);
+ void addReservedGroup(const std::vector<SharedHandle<RequestGroup> >& groups);
void addReservedGroup(const SharedHandle<RequestGroup>& group);
void insertReservedGroup
- (size_t pos, const std::deque<SharedHandle<RequestGroup> >& groups);
+ (size_t pos, const std::vector<SharedHandle<RequestGroup> >& groups);
void insertReservedGroup(size_t pos, const SharedHandle<RequestGroup>& group);
diff --git a/src/RequestSlot.h b/src/RequestSlot.h
index e9724b2f..ddeb745e 100644
--- a/src/RequestSlot.h
+++ b/src/RequestSlot.h
@@ -36,9 +36,6 @@
#define _D_REQUEST_SLOT_H_
#include "common.h"
-
-#include <deque>
-
#include "TimeA2.h"
#include "Piece.h"
@@ -141,8 +138,6 @@ public:
static bool isNull(const RequestSlot& requestSlot);
};
-typedef std::deque<RequestSlot> RequestSlots;
-
} // namespace aria2
#endif // _D_REQUEST_SLOT_H_
diff --git a/src/SeedCheckCommand.cc b/src/SeedCheckCommand.cc
index 8e97835c..f254658a 100644
--- a/src/SeedCheckCommand.cc
+++ b/src/SeedCheckCommand.cc
@@ -44,10 +44,11 @@
namespace aria2 {
-SeedCheckCommand::SeedCheckCommand(int cuid,
- RequestGroup* requestGroup,
- DownloadEngine* e,
- const SeedCriteriaHandle& seedCriteria)
+SeedCheckCommand::SeedCheckCommand
+(int cuid,
+ RequestGroup* requestGroup,
+ DownloadEngine* e,
+ const SharedHandle<SeedCriteria>& seedCriteria)
:Command(cuid),
_requestGroup(requestGroup),
e(e),
diff --git a/src/SeedCriteria.h b/src/SeedCriteria.h
index 22efe8a4..47953d0f 100644
--- a/src/SeedCriteria.h
+++ b/src/SeedCriteria.h
@@ -37,7 +37,6 @@
#include "common.h"
#include "SharedHandle.h"
-#include <deque>
namespace aria2 {
@@ -56,10 +55,6 @@ public:
virtual void reset() = 0;
};
-typedef SharedHandle<SeedCriteria> SeedCriteriaHandle;
-
-typedef std::deque<SeedCriteriaHandle> SeedCriterion;
-
} // namespace aria2
#endif // _D_SEED_CRITERIA_H_
diff --git a/src/Segment.h b/src/Segment.h
index a5017b82..a2ff6ff4 100644
--- a/src/Segment.h
+++ b/src/Segment.h
@@ -36,12 +36,13 @@
#define _D_SEGMENT_H_
#include "common.h"
-#include "SharedHandle.h"
+
#include <unistd.h>
#include <stdint.h>
-#include <deque>
#include <string>
+#include "SharedHandle.h"
+
namespace aria2 {
class Piece;
@@ -90,9 +91,6 @@ public:
}
};
-typedef SharedHandle<Segment> SegmentHandle;
-typedef std::deque<SegmentHandle> Segments;
-
} // namespace aria2
#endif // _D_SEGMENT_H_
diff --git a/src/SegmentMan.cc b/src/SegmentMan.cc
index a7f54d36..1b07429f 100644
--- a/src/SegmentMan.cc
+++ b/src/SegmentMan.cc
@@ -54,7 +54,7 @@
namespace aria2 {
-SegmentEntry::SegmentEntry(cuid_t cuid, const SegmentHandle& segment):
+SegmentEntry::SegmentEntry(cuid_t cuid, const SharedHandle<Segment>& segment):
cuid(cuid), segment(segment) {}
SegmentEntry::~SegmentEntry() {}
@@ -110,8 +110,8 @@ void SegmentMan::setDownloadContext
_downloadContext = downloadContext;
}
-SegmentHandle SegmentMan::checkoutSegment(cuid_t cuid,
- const PieceHandle& piece)
+SharedHandle<Segment> SegmentMan::checkoutSegment
+(cuid_t cuid, const SharedHandle<Piece>& piece)
{
if(piece.isNull()) {
return SharedHandle<Segment>();
@@ -119,7 +119,7 @@ SegmentHandle SegmentMan::checkoutSegment(cuid_t cuid,
if(logger->debug()) {
logger->debug("Attach segment#%d to CUID#%d.", piece->getIndex(), cuid);
}
- SegmentHandle segment;
+ SharedHandle<Segment> segment;
if(piece->getLength() == 0) {
segment.reset(new GrowSegment(piece));
} else {
@@ -155,8 +155,8 @@ SegmentHandle SegmentMan::checkoutSegment(cuid_t cuid,
return segment;
}
-void SegmentMan::getInFlightSegment(std::deque<SharedHandle<Segment> >& segments,
- cuid_t cuid)
+void SegmentMan::getInFlightSegment
+(std::vector<SharedHandle<Segment> >& segments, cuid_t cuid)
{
for(SegmentEntries::iterator itr = usedSegmentEntries.begin();
itr != usedSegmentEntries.end(); ++itr) {
@@ -167,22 +167,23 @@ void SegmentMan::getInFlightSegment(std::deque<SharedHandle<Segment> >& segments
}
}
-SegmentHandle SegmentMan::getSegment(cuid_t cuid) {
- PieceHandle piece =
+SharedHandle<Segment> SegmentMan::getSegment(cuid_t cuid) {
+ SharedHandle<Piece> piece =
_pieceStorage->getSparseMissingUnusedPiece
(_ignoreBitfield.getFilterBitfield(),_ignoreBitfield.getBitfieldLength());
return checkoutSegment(cuid, piece);
}
-void SegmentMan::getSegment(std::deque<SharedHandle<Segment> >& segments,
- cuid_t cuid,
- const SharedHandle<FileEntry>& fileEntry,
- size_t maxSegments)
+void SegmentMan::getSegment
+(std::vector<SharedHandle<Segment> >& segments,
+ cuid_t cuid,
+ const SharedHandle<FileEntry>& fileEntry,
+ size_t maxSegments)
{
BitfieldMan filter(_ignoreBitfield);
filter.enableFilter();
filter.addNotFilter(fileEntry->getOffset(), fileEntry->getLength());
- std::deque<SharedHandle<Segment> > pending;
+ std::vector<SharedHandle<Segment> > pending;
while(segments.size() < maxSegments) {
SharedHandle<Segment> segment =
checkoutSegment(cuid,
@@ -198,13 +199,13 @@ void SegmentMan::getSegment(std::deque<SharedHandle<Segment> >& segments,
segments.push_back(segment);
}
}
- for(std::deque<SharedHandle<Segment> >::const_iterator i = pending.begin();
+ for(std::vector<SharedHandle<Segment> >::const_iterator i = pending.begin();
i != pending.end(); ++i) {
cancelSegment(cuid, *i);
}
}
-SegmentHandle SegmentMan::getSegment(cuid_t cuid, size_t index) {
+SharedHandle<Segment> SegmentMan::getSegment(cuid_t cuid, size_t index) {
if(_downloadContext->getNumPieces() <= index) {
return SharedHandle<Segment>();
}
@@ -250,9 +251,9 @@ void SegmentMan::cancelSegment
class FindSegmentEntry {
private:
- SegmentHandle _segment;
+ SharedHandle<Segment> _segment;
public:
- FindSegmentEntry(const SegmentHandle& segment):_segment(segment) {}
+ FindSegmentEntry(const SharedHandle<Segment>& segment):_segment(segment) {}
bool operator()(const SegmentEntryHandle& segmentEntry) const
{
@@ -260,7 +261,8 @@ public:
}
};
-bool SegmentMan::completeSegment(cuid_t cuid, const SegmentHandle& segment) {
+bool SegmentMan::completeSegment
+(cuid_t cuid, const SharedHandle<Segment>& segment) {
_pieceStorage->completePiece(segment->getPiece());
_pieceStorage->advertisePiece(cuid, segment->getPiece()->getIndex());
SegmentEntries::iterator itr = std::find_if(usedSegmentEntries.begin(),
@@ -288,7 +290,7 @@ uint64_t SegmentMan::getDownloadLength() const {
void SegmentMan::registerPeerStat(const SharedHandle<PeerStat>& peerStat)
{
- for(std::deque<SharedHandle<PeerStat> >::iterator i = peerStats.begin();
+ for(std::vector<SharedHandle<PeerStat> >::iterator i = peerStats.begin();
i != peerStats.end(); ++i) {
if((*i)->getStatus() == PeerStat::IDLE) {
*i = peerStat;
@@ -314,7 +316,7 @@ public:
void SegmentMan::updateFastestPeerStat(const SharedHandle<PeerStat>& peerStat)
{
- std::deque<SharedHandle<PeerStat> >::iterator i =
+ std::vector<SharedHandle<PeerStat> >::iterator i =
std::find_if(_fastestPeerStats.begin(), _fastestPeerStats.end(),
PeerStatHostProtoEqual(peerStat));
if(i == _fastestPeerStats.end()) {
@@ -335,7 +337,7 @@ unsigned int SegmentMan::calculateDownloadSpeed()
if(_lastPeerStatDlspdMapUpdated.elapsedInMillis(250)) {
_lastPeerStatDlspdMapUpdated.reset();
_peerStatDlspdMap.clear();
- for(std::deque<SharedHandle<PeerStat> >::const_iterator i =
+ for(std::vector<SharedHandle<PeerStat> >::const_iterator i =
peerStats.begin(); i != peerStats.end(); ++i) {
if((*i)->getStatus() == PeerStat::ACTIVE) {
unsigned int s = (*i)->calculateDownloadSpeed();
diff --git a/src/SegmentMan.h b/src/SegmentMan.h
index b0889dd8..8ab3d96e 100644
--- a/src/SegmentMan.h
+++ b/src/SegmentMan.h
@@ -38,6 +38,7 @@
#include "common.h"
#include <deque>
+#include <vector>
#include <map>
#include "SharedHandle.h"
@@ -89,10 +90,10 @@ private:
std::map<size_t, size_t> _segmentWrittenLengthMemo;
// Used for calculating download speed.
- std::deque<SharedHandle<PeerStat> > peerStats;
+ std::vector<SharedHandle<PeerStat> > peerStats;
// Keep track of fastest PeerStat for each server
- std::deque<SharedHandle<PeerStat> > _fastestPeerStats;
+ std::vector<SharedHandle<PeerStat> > _fastestPeerStats;
// key: PeerStat's cuid, value: its download speed
std::map<cuid_t, unsigned int> _peerStatDlspdMap;
@@ -137,14 +138,14 @@ public:
* Fill segments which are assigned to the command whose CUID is cuid.
* This function doesn't clear passed segments.
*/
- void getInFlightSegment(std::deque<SharedHandle<Segment> >& segments,
+ void getInFlightSegment(std::vector<SharedHandle<Segment> >& segments,
cuid_t cuid);
SharedHandle<Segment> getSegment(cuid_t cuid);
// Checkouts segments in the range of fileEntry and push back to
// segments until segments.size() < maxSegments holds false
- void getSegment(std::deque<SharedHandle<Segment> >& segments,
+ void getSegment(std::vector<SharedHandle<Segment> >& segments,
cuid_t cuid,
const SharedHandle<FileEntry>& fileEntry,
size_t maxSegments);
@@ -198,7 +199,7 @@ public:
// inserted.
void registerPeerStat(const SharedHandle<PeerStat>& peerStat);
- const std::deque<SharedHandle<PeerStat> >& getPeerStats() const
+ const std::vector<SharedHandle<PeerStat> >& getPeerStats() const
{
return peerStats;
}
@@ -209,7 +210,7 @@ public:
// and protocol with given peerStat, given peerStat is inserted.
void updateFastestPeerStat(const SharedHandle<PeerStat>& peerStat);
- const std::deque<SharedHandle<PeerStat> >& getFastestPeerStats() const
+ const std::vector<SharedHandle<PeerStat> >& getFastestPeerStats() const
{
return _fastestPeerStats;
}
@@ -237,8 +238,6 @@ public:
bool allSegmentsIgnored() const;
};
-typedef SharedHandle<SegmentMan> SegmentManHandle;
-
} // namespace aria2
#endif // _D_SEGMENT_MAN_H_
diff --git a/src/Sequence.h b/src/Sequence.h
index 4fdbe185..cd685170 100644
--- a/src/Sequence.h
+++ b/src/Sequence.h
@@ -35,7 +35,7 @@
#ifndef _D_SEQUENCE_H_
#define _D_SEQUENCE_H_
-#include <deque>
+#include <vector>
namespace aria2 {
@@ -62,35 +62,36 @@ public:
}
};
- typedef std::deque<Value> Values;
+ typedef std::vector<Value> Values;
private:
Values _values;
+ typename Values::iterator _cur;
public:
Sequence(const Values& values):
- _values(values) {}
+ _values(values), _cur(_values.begin()) {}
Sequence() {}
T next()
{
- if(_values.empty()) {
+ if(_cur == _values.end()) {
return T();
}
- T t = _values.front().next();
- if(!_values.front().hasNext()) {
- _values.pop_front();
+ T t = (*_cur).next();
+ if(!(*_cur).hasNext()) {
+ ++_cur;
}
return t;
}
bool hasNext()
{
- return !_values.empty();
+ return _cur != _values.end();
}
- std::deque<T> flush()
+ std::vector<T> flush()
{
- std::deque<T> r;
+ std::vector<T> r;
while(hasNext()) {
r.push_back(next());
}
diff --git a/src/Sqlite3MozCookieParser.cc b/src/Sqlite3MozCookieParser.cc
index 9dfc3d2c..5aaf1a43 100644
--- a/src/Sqlite3MozCookieParser.cc
+++ b/src/Sqlite3MozCookieParser.cc
@@ -65,7 +65,8 @@ static int cookieRowMapper(void* data, int rowIndex,
char** values, char** names)
{
try {
- std::deque<Cookie>& cookies = *reinterpret_cast<std::deque<Cookie>*>(data);
+ std::vector<Cookie>& cookies =
+ *reinterpret_cast<std::vector<Cookie>*>(data);
int64_t expireDate = util::parseLLInt(toString(values[3]));
// TODO assuming time_t is int32_t...
if(expireDate > INT32_MAX) {
@@ -90,7 +91,7 @@ static int cookieRowMapper(void* data, int rowIndex,
return 0;
}
-std::deque<Cookie>
+std::vector<Cookie>
Sqlite3MozCookieParser::parse(const std::string& filename) const
{
sqlite3* db = 0;
@@ -113,7 +114,7 @@ Sqlite3MozCookieParser::parse(const std::string& filename) const
(StringFormat("Failed to open SQLite3 database: %s",
errMsg.c_str()).str());
}
- std::deque<Cookie> cookies;
+ std::vector<Cookie> cookies;
char* sqlite3ErrMsg = 0;
static const char* QUERY =
"SELECT host, path, isSecure, expiry, name, value FROM moz_cookies";
diff --git a/src/Sqlite3MozCookieParser.h b/src/Sqlite3MozCookieParser.h
index 5276a6ee..615ce983 100644
--- a/src/Sqlite3MozCookieParser.h
+++ b/src/Sqlite3MozCookieParser.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
#include "Cookie.h"
@@ -50,7 +50,7 @@ public:
~Sqlite3MozCookieParser();
- std::deque<Cookie> parse(const std::string& filename) const;
+ std::vector<Cookie> parse(const std::string& filename) const;
};
} // namespace aria2
diff --git a/src/StreamCheckIntegrityEntry.cc b/src/StreamCheckIntegrityEntry.cc
index 8295f6a0..27430ebd 100644
--- a/src/StreamCheckIntegrityEntry.cc
+++ b/src/StreamCheckIntegrityEntry.cc
@@ -48,15 +48,15 @@ StreamCheckIntegrityEntry::StreamCheckIntegrityEntry(RequestGroup* requestGroup,
StreamCheckIntegrityEntry::~StreamCheckIntegrityEntry() {}
void StreamCheckIntegrityEntry::onDownloadIncomplete
-(std::deque<Command*>& commands, DownloadEngine* e)
+(std::vector<Command*>& commands, DownloadEngine* e)
{
- FileAllocationEntryHandle entry
+ SharedHandle<FileAllocationEntry> entry
(new StreamFileAllocationEntry(_requestGroup, popNextCommand()));
proceedFileAllocation(commands, entry, e);
}
-void StreamCheckIntegrityEntry::onDownloadFinished(std::deque<Command*>& commands,
- DownloadEngine* e)
+void StreamCheckIntegrityEntry::onDownloadFinished
+(std::vector<Command*>& commands, DownloadEngine* e)
{}
} // namespace aria2
diff --git a/src/StreamCheckIntegrityEntry.h b/src/StreamCheckIntegrityEntry.h
index 9f4e52bf..81f48a7c 100644
--- a/src/StreamCheckIntegrityEntry.h
+++ b/src/StreamCheckIntegrityEntry.h
@@ -50,10 +50,10 @@ public:
virtual ~StreamCheckIntegrityEntry();
- virtual void onDownloadFinished(std::deque<Command*>& commands,
+ virtual void onDownloadFinished(std::vector<Command*>& commands,
DownloadEngine* e);
- virtual void onDownloadIncomplete(std::deque<Command*>& commands,
+ virtual void onDownloadIncomplete(std::vector<Command*>& commands,
DownloadEngine* e);
};
diff --git a/src/StreamFileAllocationEntry.cc b/src/StreamFileAllocationEntry.cc
index cf89e788..00800e6e 100644
--- a/src/StreamFileAllocationEntry.cc
+++ b/src/StreamFileAllocationEntry.cc
@@ -52,8 +52,9 @@ StreamFileAllocationEntry::StreamFileAllocationEntry(RequestGroup* requestGroup,
StreamFileAllocationEntry::~StreamFileAllocationEntry() {}
-void StreamFileAllocationEntry::prepareForNextAction(std::deque<Command*>& commands,
- DownloadEngine* e)
+void StreamFileAllocationEntry::prepareForNextAction
+(std::vector<Command*>& commands,
+ DownloadEngine* e)
{
_requestGroup->getDownloadContext()->resetDownloadStartTime();
if(_nextCommand) {
diff --git a/src/StreamFileAllocationEntry.h b/src/StreamFileAllocationEntry.h
index 1870f95e..e982d98f 100644
--- a/src/StreamFileAllocationEntry.h
+++ b/src/StreamFileAllocationEntry.h
@@ -49,13 +49,10 @@ public:
virtual ~StreamFileAllocationEntry();
- virtual void prepareForNextAction(std::deque<Command*>& commands,
+ virtual void prepareForNextAction(std::vector<Command*>& commands,
DownloadEngine* e);
};
-typedef SharedHandle<StreamFileAllocationEntry> StreamFileAllocationEntryHandle;
-typedef std::deque<StreamFileAllocationEntryHandle> StreamFileAllocationEntries;
-
} // namespace aria2
#endif // _D_STREAM_FILE_ALLOCATION_ENTRY_H_
diff --git a/src/TrackerWatcherCommand.cc b/src/TrackerWatcherCommand.cc
index 39ed0fb0..f9875b0b 100644
--- a/src/TrackerWatcherCommand.cc
+++ b/src/TrackerWatcherCommand.cc
@@ -99,7 +99,7 @@ bool TrackerWatcherCommand::execute() {
if(_trackerRequestGroup.isNull()) {
_trackerRequestGroup = createAnnounce();
if(!_trackerRequestGroup.isNull()) {
- std::deque<Command*> commands;
+ std::vector<Command*> commands;
try {
_trackerRequestGroup->createInitialCommand(commands, e);
} catch(RecoverableException& ex) {
@@ -140,7 +140,7 @@ bool TrackerWatcherCommand::execute() {
}
std::string TrackerWatcherCommand::getTrackerResponse
-(const RequestGroupHandle& requestGroup)
+(const SharedHandle<RequestGroup>& requestGroup)
{
std::stringstream strm;
unsigned char data[2048];
@@ -164,7 +164,7 @@ void TrackerWatcherCommand::processTrackerResponse
(reinterpret_cast<const unsigned char*>(trackerResponse.c_str()),
trackerResponse.size());
while(!_btRuntime->isHalt() && _btRuntime->lessThanMinPeers()) {
- PeerHandle peer = _peerStorage->getUnusedPeer();
+ SharedHandle<Peer> peer = _peerStorage->getUnusedPeer();
if(peer.isNull()) {
break;
}
@@ -182,8 +182,8 @@ void TrackerWatcherCommand::processTrackerResponse
}
}
-RequestGroupHandle TrackerWatcherCommand::createAnnounce() {
- RequestGroupHandle rg;
+SharedHandle<RequestGroup> TrackerWatcherCommand::createAnnounce() {
+ SharedHandle<RequestGroup> rg;
if(_btAnnounce->isAnnounceReady()) {
rg = createRequestGroup(_btAnnounce->getAnnounceUrl());
_btAnnounce->announceStart(); // inside it, trackers++.
@@ -209,12 +209,12 @@ static bool backupTrackerIsAvailable
}
}
-RequestGroupHandle
+SharedHandle<RequestGroup>
TrackerWatcherCommand::createRequestGroup(const std::string& uri)
{
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
uris.push_back(uri);
- RequestGroupHandle rg(new RequestGroup(getOption()));
+ SharedHandle<RequestGroup> rg(new RequestGroup(getOption()));
// If backup tracker is available, only try 2 times for each tracker
// and if they all fails, then try next one.
if(backupTrackerIsAvailable(_requestGroup->getDownloadContext())) {
diff --git a/src/UTMetadataPostDownloadHandler.cc b/src/UTMetadataPostDownloadHandler.cc
index ea07b602..3d8f7f10 100644
--- a/src/UTMetadataPostDownloadHandler.cc
+++ b/src/UTMetadataPostDownloadHandler.cc
@@ -74,7 +74,7 @@ UTMetadataPostDownloadHandler::UTMetadataPostDownloadHandler():
}
void UTMetadataPostDownloadHandler::getNextRequestGroups
-(std::deque<SharedHandle<RequestGroup> >& groups, RequestGroup* requestGroup)
+(std::vector<SharedHandle<RequestGroup> >& groups, RequestGroup* requestGroup)
{
SharedHandle<DownloadContext> dctx = requestGroup->getDownloadContext();
const BDE& attrs = dctx->getAttribute(bittorrent::BITTORRENT);
@@ -93,9 +93,9 @@ void UTMetadataPostDownloadHandler::getNextRequestGroups
}
}
if(!requestGroup->getOption()->getAsBool(PREF_BT_METADATA_ONLY)) {
- std::deque<SharedHandle<RequestGroup> > newRgs;
+ std::vector<SharedHandle<RequestGroup> > newRgs;
createRequestGroupForBitTorrent(newRgs, requestGroup->getOption(),
- std::deque<std::string>(), torrent);
+ std::vector<std::string>(), torrent);
requestGroup->followedBy(newRgs.begin(), newRgs.end());
groups.insert(groups.end(), newRgs.begin(), newRgs.end());
diff --git a/src/UTMetadataPostDownloadHandler.h b/src/UTMetadataPostDownloadHandler.h
index 56201d73..bc8c0b32 100644
--- a/src/UTMetadataPostDownloadHandler.h
+++ b/src/UTMetadataPostDownloadHandler.h
@@ -56,7 +56,7 @@ public:
UTMetadataPostDownloadHandler();
virtual void
- getNextRequestGroups(std::deque<SharedHandle<RequestGroup> >& groups,
+ getNextRequestGroups(std::vector<SharedHandle<RequestGroup> >& groups,
RequestGroup* requestGroup);
};
diff --git a/src/UTMetadataRequestFactory.cc b/src/UTMetadataRequestFactory.cc
index 4dcc27f7..8fac6dd0 100644
--- a/src/UTMetadataRequestFactory.cc
+++ b/src/UTMetadataRequestFactory.cc
@@ -49,10 +49,11 @@ UTMetadataRequestFactory::UTMetadataRequestFactory():
_logger(LogFactory::getInstance()) {}
void UTMetadataRequestFactory::create
-(std::deque<SharedHandle<BtMessage> >& msgs, size_t num,
+(std::vector<SharedHandle<BtMessage> >& msgs, size_t num,
const SharedHandle<PieceStorage>& pieceStorage)
{
- for(size_t index = 0; index < _dctx->getNumPieces() && num; ++index) {
+ for(size_t index = 0, numPieces = _dctx->getNumPieces();
+ index < numPieces && num; ++index) {
SharedHandle<Piece> p = pieceStorage->getMissingPiece(index);
if(p.isNull()) {
if(_logger->debug()) {
diff --git a/src/UTMetadataRequestFactory.h b/src/UTMetadataRequestFactory.h
index c9496e95..0c62fc68 100644
--- a/src/UTMetadataRequestFactory.h
+++ b/src/UTMetadataRequestFactory.h
@@ -37,7 +37,7 @@
#include "common.h"
-#include <deque>
+#include <vector>
#include "SharedHandle.h"
@@ -70,7 +70,7 @@ public:
// Creates at most num of ut_metadata request message and appends
// them to msgs. pieceStorage is used to identify missing piece.
- void create(std::deque<SharedHandle<BtMessage> >& msgs, size_t num,
+ void create(std::vector<SharedHandle<BtMessage> >& msgs, size_t num,
const SharedHandle<PieceStorage>& pieceStorage);
void setDownloadContext(const SharedHandle<DownloadContext>& dctx)
diff --git a/src/UTPexExtensionMessage.cc b/src/UTPexExtensionMessage.cc
index 43c28966..2e54852f 100644
--- a/src/UTPexExtensionMessage.cc
+++ b/src/UTPexExtensionMessage.cc
@@ -71,11 +71,13 @@ std::string UTPexExtensionMessage::getPayload()
}
std::pair<std::string, std::string>
-UTPexExtensionMessage::createCompactPeerListAndFlag(const Peers& peers)
+UTPexExtensionMessage::createCompactPeerListAndFlag
+(const std::vector<SharedHandle<Peer> >& peers)
{
std::string addrstring;
std::string flagstring;
- for(Peers::const_iterator itr = peers.begin(); itr != peers.end(); ++itr) {
+ for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin();
+ itr != peers.end(); ++itr) {
unsigned char compact[6];
if(bittorrent::createcompact(compact, (*itr)->ipaddr, (*itr)->port)) {
addrstring.append(&compact[0], &compact[6]);
@@ -96,7 +98,7 @@ void UTPexExtensionMessage::doReceivedAction()
_peerStorage->addPeer(_freshPeers);
}
-bool UTPexExtensionMessage::addFreshPeer(const PeerHandle& peer)
+bool UTPexExtensionMessage::addFreshPeer(const SharedHandle<Peer>& peer)
{
if(!peer->isIncomingPeer() &&
!peer->getFirstContactTime().elapsed(_interval)) {
@@ -112,7 +114,7 @@ bool UTPexExtensionMessage::freshPeersAreFull() const
return _freshPeers.size() >= _maxFreshPeer;
}
-bool UTPexExtensionMessage::addDroppedPeer(const PeerHandle& peer)
+bool UTPexExtensionMessage::addDroppedPeer(const SharedHandle<Peer>& peer)
{
if(!peer->isIncomingPeer() &&
!peer->getBadConditionStartTime().elapsed(_interval)) {
diff --git a/src/UTPexExtensionMessage.h b/src/UTPexExtensionMessage.h
index fd0535bf..e79620d4 100644
--- a/src/UTPexExtensionMessage.h
+++ b/src/UTPexExtensionMessage.h
@@ -38,7 +38,7 @@
#include "ExtensionMessage.h"
#include <utility>
-#include <deque>
+#include <vector>
#include "a2time.h"
@@ -53,9 +53,9 @@ class UTPexExtensionMessage:public ExtensionMessage {
private:
uint8_t _extensionMessageID;
- std::deque<SharedHandle<Peer> > _freshPeers;
+ std::vector<SharedHandle<Peer> > _freshPeers;
- std::deque<SharedHandle<Peer> > _droppedPeers;
+ std::vector<SharedHandle<Peer> > _droppedPeers;
SharedHandle<PeerStorage> _peerStorage;
@@ -66,7 +66,7 @@ private:
size_t _maxDroppedPeer;
std::pair<std::string, std::string>
- createCompactPeerListAndFlag(const std::deque<SharedHandle<Peer> >& peers);
+ createCompactPeerListAndFlag(const std::vector<SharedHandle<Peer> >& peers);
public:
UTPexExtensionMessage(uint8_t extensionMessageID);
@@ -93,7 +93,7 @@ public:
bool addFreshPeer(const SharedHandle<Peer>& peer);
- const std::deque<SharedHandle<Peer> >& getFreshPeers() const
+ const std::vector<SharedHandle<Peer> >& getFreshPeers() const
{
return _freshPeers;
}
@@ -102,7 +102,7 @@ public:
bool addDroppedPeer(const SharedHandle<Peer>& peer);
- const std::deque<SharedHandle<Peer> >& getDroppedPeers() const
+ const std::vector<SharedHandle<Peer> >& getDroppedPeers() const
{
return _droppedPeers;
}
diff --git a/src/UnionSeedCriteria.h b/src/UnionSeedCriteria.h
index 8257c507..1aa0e598 100644
--- a/src/UnionSeedCriteria.h
+++ b/src/UnionSeedCriteria.h
@@ -37,23 +37,26 @@
#include "SeedCriteria.h"
#include <algorithm>
+#include <vector>
namespace aria2 {
class UnionSeedCriteria : public SeedCriteria {
private:
- SeedCriterion criterion;
+ std::vector<SharedHandle<SeedCriteria> > _criterion;
class Reset {
public:
- void operator()(SeedCriteriaHandle cri) {
+ void operator()(SharedHandle<SeedCriteria> cri)
+ {
cri->reset();
}
};
class Eval {
public:
- bool operator()(SeedCriteriaHandle cri) {
+ bool operator()(SharedHandle<SeedCriteria> cri)
+ {
return cri->evaluate();
}
};
@@ -62,23 +65,26 @@ public:
virtual ~UnionSeedCriteria() {}
- virtual void reset() {
- std::for_each(criterion.begin(), criterion.end(), Reset());
+ virtual void reset()
+ {
+ std::for_each(_criterion.begin(), _criterion.end(), Reset());
}
- virtual bool evaluate() {
- SeedCriterion::iterator itr = std::find_if(criterion.begin(),
- criterion.end(),
- Eval());
- return itr != criterion.end();
+ virtual bool evaluate()
+ {
+ std::vector<SharedHandle<SeedCriteria> >::iterator itr =
+ std::find_if(_criterion.begin(), _criterion.end(), Eval());
+ return itr != _criterion.end();
}
- void addSeedCriteria(SeedCriteriaHandle cri) {
- criterion.push_back(cri);
+ void addSeedCriteria(const SharedHandle<SeedCriteria>& cri)
+ {
+ _criterion.push_back(cri);
}
- const SeedCriterion& getSeedCriterion() const {
- return criterion;
+ const std::vector<SharedHandle<SeedCriteria> >& getSeedCriterion() const
+ {
+ return _criterion;
}
};
diff --git a/src/UnknownLengthPieceStorage.cc b/src/UnknownLengthPieceStorage.cc
index 573b19bb..12b9363d 100644
--- a/src/UnknownLengthPieceStorage.cc
+++ b/src/UnknownLengthPieceStorage.cc
@@ -84,7 +84,7 @@ SharedHandle<Piece> UnknownLengthPieceStorage::getMissingPiece(const SharedHandl
}
SharedHandle<Piece> UnknownLengthPieceStorage::getMissingPiece
-(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
abort();
}
@@ -95,7 +95,7 @@ SharedHandle<Piece> UnknownLengthPieceStorage::getMissingFastPiece(const SharedH
}
SharedHandle<Piece> UnknownLengthPieceStorage::getMissingFastPiece
-(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
abort();
}
@@ -121,7 +121,7 @@ SharedHandle<Piece> UnknownLengthPieceStorage::getSparseMissingUnusedPiece
}
}
-PieceHandle UnknownLengthPieceStorage::getMissingPiece(size_t index)
+SharedHandle<Piece> UnknownLengthPieceStorage::getMissingPiece(size_t index)
{
if(index == 0) {
return getSparseMissingUnusedPiece(0, 0);
@@ -130,7 +130,7 @@ PieceHandle UnknownLengthPieceStorage::getMissingPiece(size_t index)
}
}
-PieceHandle UnknownLengthPieceStorage::getPiece(size_t index)
+SharedHandle<Piece> UnknownLengthPieceStorage::getPiece(size_t index)
{
if(index == 0) {
if(_piece.isNull()) {
@@ -143,7 +143,7 @@ PieceHandle UnknownLengthPieceStorage::getPiece(size_t index)
}
}
-void UnknownLengthPieceStorage::completePiece(const PieceHandle& piece)
+void UnknownLengthPieceStorage::completePiece(const SharedHandle<Piece>& piece)
{
if(_piece == piece) {
_downloadFinished = true;
@@ -153,7 +153,7 @@ void UnknownLengthPieceStorage::completePiece(const PieceHandle& piece)
}
}
-void UnknownLengthPieceStorage::cancelPiece(const PieceHandle& piece)
+void UnknownLengthPieceStorage::cancelPiece(const SharedHandle<Piece>& piece)
{
if(_piece == piece) {
_piece.reset();
@@ -213,10 +213,12 @@ void UnknownLengthPieceStorage::markPieceMissing(size_t index)
abort();
}
-void UnknownLengthPieceStorage::getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
+void UnknownLengthPieceStorage::getInFlightPieces
+(std::vector<SharedHandle<Piece> >& pieces)
{}
-void UnknownLengthPieceStorage::setDiskWriterFactory(const DiskWriterFactoryHandle& diskWriterFactory)
+void UnknownLengthPieceStorage::setDiskWriterFactory
+(const DiskWriterFactoryHandle& diskWriterFactory)
{
_diskWriterFactory = diskWriterFactory;
}
diff --git a/src/UnknownLengthPieceStorage.h b/src/UnknownLengthPieceStorage.h
index b05414cb..3c9cfaf1 100644
--- a/src/UnknownLengthPieceStorage.h
+++ b/src/UnknownLengthPieceStorage.h
@@ -82,7 +82,7 @@ public:
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer);
virtual SharedHandle<Piece> getMissingPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
/**
* Returns a piece that the peer has but localhost doesn't.
@@ -94,7 +94,7 @@ public:
virtual SharedHandle<Piece> getMissingFastPiece(const SharedHandle<Peer>& peer);
virtual SharedHandle<Piece> getMissingFastPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
#endif // ENABLE_BITTORRENT
@@ -228,7 +228,7 @@ public:
* newer than lastCheckTime.
*/
virtual void
- getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
int32_t myCuid, const Time& lastCheckTime)
{}
@@ -251,14 +251,15 @@ public:
* Do nothing because loading in-flight piece is not supported for this
* class.
*/
- virtual void addInFlightPiece(const std::deque<SharedHandle<Piece> >& pieces) {}
+ virtual void addInFlightPiece
+ (const std::vector<SharedHandle<Piece> >& pieces) {}
virtual size_t countInFlightPiece()
{
return 0;
}
- virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces);
+ virtual void getInFlightPieces(std::vector<SharedHandle<Piece> >& pieces);
virtual void addPieceStats(size_t index) {}
diff --git a/src/UriListParser.cc b/src/UriListParser.cc
index 38303966..51618e0e 100644
--- a/src/UriListParser.cc
+++ b/src/UriListParser.cc
@@ -64,7 +64,7 @@ void UriListParser::getOptions(Option& op)
_optparser.parse(op, ss);
}
-void UriListParser::parseNext(std::deque<std::string>& uris, Option& op)
+void UriListParser::parseNext(std::vector<std::string>& uris, Option& op)
{
if(_line.empty()) {
getline(_in, _line);
diff --git a/src/UriListParser.h b/src/UriListParser.h
index 0f22c719..f5199db9 100644
--- a/src/UriListParser.h
+++ b/src/UriListParser.h
@@ -60,7 +60,7 @@ public:
~UriListParser();
- void parseNext(std::deque<std::string>& uris, Option& op);
+ void parseNext(std::vector<std::string>& uris, Option& op);
bool hasNext() const;
};
diff --git a/src/XmlRpcMethodImpl.cc b/src/XmlRpcMethodImpl.cc
index d2771cdc..36a8b9c6 100644
--- a/src/XmlRpcMethodImpl.cc
+++ b/src/XmlRpcMethodImpl.cc
@@ -165,6 +165,17 @@ static void getPosParam(const BDE& params, size_t posParamIndex,
}
}
+template<typename OutputIterator>
+static void extractUris(OutputIterator out, const BDE& src)
+{
+ for(BDE::List::const_iterator i = src.listBegin(), end = src.listEnd();
+ i != end; ++i) {
+ if((*i).isString()) {
+ out++ = (*i).s();
+ }
+ }
+}
+
BDE AddUriXmlRpcMethod::process(const XmlRpcRequest& req, DownloadEngine* e)
{
const BDE& params = req._params;
@@ -172,13 +183,8 @@ BDE AddUriXmlRpcMethod::process(const XmlRpcRequest& req, DownloadEngine* e)
if(params.empty() || !params[0].isList() || params[0].empty()) {
throw DL_ABORT_EX("URI is not provided.");
}
- std::deque<std::string> uris;
- for(BDE::List::const_iterator i = params[0].listBegin();
- i != params[0].listEnd(); ++i) {
- if((*i).isString()) {
- uris.push_back((*i).s());
- }
- }
+ std::vector<std::string> uris;
+ extractUris(std::back_inserter(uris), params[0]);
SharedHandle<Option> requestOption(new Option(*e->option));
if(hasDictParam(params, 1)) {
@@ -188,7 +194,7 @@ BDE AddUriXmlRpcMethod::process(const XmlRpcRequest& req, DownloadEngine* e)
bool posGiven = false;
getPosParam(params, 2, posGiven, pos);
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, requestOption, uris,
/* ignoreForceSeq = */ true,
/* ignoreLocalPath = */ true);
@@ -210,14 +216,9 @@ BDE AddTorrentXmlRpcMethod::process
throw DL_ABORT_EX("Torrent data is not provided.");
}
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
if(params.size() > 1 && params[1].isList()) {
- for(BDE::List::const_iterator i = params[1].listBegin();
- i != params[1].listEnd(); ++i) {
- if((*i).isString()) {
- uris.push_back((*i).s());
- }
- }
+ extractUris(std::back_inserter(uris), params[1]);
}
SharedHandle<Option> requestOption(new Option(*e->option));
if(hasDictParam(params, 2)) {
@@ -227,7 +228,7 @@ BDE AddTorrentXmlRpcMethod::process
bool posGiven = false;
getPosParam(params, 3, posGiven, pos);
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForBitTorrent(result, requestOption,
uris,
params[0].s());
@@ -258,7 +259,7 @@ BDE AddMetalinkXmlRpcMethod::process
bool posGiven = false;
getPosParam(params, 2, posGiven, pos);
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForMetalink(result, requestOption, params[0].s());
if(!result.empty()) {
if(posGiven) {
@@ -267,7 +268,7 @@ BDE AddMetalinkXmlRpcMethod::process
e->_requestGroupMan->addReservedGroup(result);
}
BDE gids = BDE::list();
- for(std::deque<SharedHandle<RequestGroup> >::const_iterator i =
+ for(std::vector<SharedHandle<RequestGroup> >::const_iterator i =
result.begin(); i != result.end(); ++i) {
gids << BDE(util::itos((*i)->getGID()));
}
@@ -322,9 +323,9 @@ static void createFileEntry(BDE& files, InputIterator first, InputIterator last)
entry[KEY_LENGTH] = util::uitos((*first)->getLength());
BDE uriList = BDE::list();
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
(*first)->getUris(uris);
- for(std::deque<std::string>::const_iterator i = uris.begin();
+ for(std::vector<std::string>::const_iterator i = uris.begin();
i != uris.end(); ++i) {
BDE uriEntry = BDE::dict();
uriEntry[KEY_URI] = *i;
@@ -423,7 +424,7 @@ static void gatherProgressBitTorrent
SharedHandle<PeerStorage> peerStorage = btObject._peerStorage;
assert(!peerStorage.isNull());
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
peerStorage->getActivePeers(peers);
entryDict[KEY_NUM_SEEDERS] = countSeeder(peers.begin(), peers.end());
}
@@ -431,9 +432,9 @@ static void gatherProgressBitTorrent
static void gatherPeer(BDE& peers, const SharedHandle<PeerStorage>& ps)
{
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
ps->getActivePeers(activePeers);
- for(std::deque<SharedHandle<Peer> >::const_iterator i =
+ for(std::vector<SharedHandle<Peer> >::const_iterator i =
activePeers.begin(); i != activePeers.end(); ++i) {
BDE peerEntry = BDE::dict();
peerEntry[KEY_PEER_ID] = util::torrentUrlencode((*i)->getPeerId(),
@@ -558,9 +559,9 @@ BDE GetUrisXmlRpcMethod::process
BDE uriList = BDE::list();
// TODO Current implementation just returns first FileEntry's URIs.
if(!group->getDownloadContext()->getFileEntries().empty()) {
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
- for(std::deque<std::string>::const_iterator i = uris.begin();
+ for(std::vector<std::string>::const_iterator i = uris.begin();
i != uris.end(); ++i) {
BDE entry = BDE::dict();
entry[KEY_URI] = *i;
diff --git a/src/bittorrent_helper.cc b/src/bittorrent_helper.cc
index 02b3d187..9538db8d 100644
--- a/src/bittorrent_helper.cc
+++ b/src/bittorrent_helper.cc
@@ -254,7 +254,7 @@ static void extractFileEntries
throw DL_ABORT_EX
(StringFormat(MSG_DIR_TRAVERSAL_DETECTED, path.c_str()).str());
}
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
createUri(urlList.begin(), urlList.end(), std::back_inserter(uris), path);
SharedHandle<FileEntry> fileEntry
(new FileEntry(util::applyDir(ctx->getDir(), util::escapePath(path)),
@@ -276,7 +276,7 @@ static void extractFileEntries
// For each uri in urlList, if it ends with '/', then
// concatenate name to it. Specification just says so.
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
for(std::vector<std::string>::const_iterator i = urlList.begin();
i != urlList.end(); ++i) {
if(util::endsWith(*i, A2STR::SLASH_C)) {
@@ -360,7 +360,7 @@ static void processRootDictionary
const BDE& rootDict,
const std::string& defaultName,
const std::string& overrideName,
- const std::deque<std::string>& uris)
+ const std::vector<std::string>& uris)
{
if(!rootDict.isDict()) {
throw DL_ABORT_EX("torrent file does not contain a root dictionary.");
@@ -465,12 +465,12 @@ void load(const std::string& torrentFile,
bencode::decodeFromFile(torrentFile),
torrentFile,
overrideName,
- std::deque<std::string>());
+ std::vector<std::string>());
}
void load(const std::string& torrentFile,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& overrideName)
{
processRootDictionary(ctx,
@@ -490,13 +490,13 @@ void loadFromMemory(const unsigned char* content,
bencode::decode(content, length),
defaultName,
overrideName,
- std::deque<std::string>());
+ std::vector<std::string>());
}
void loadFromMemory(const unsigned char* content,
size_t length,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& defaultName,
const std::string& overrideName)
{
@@ -516,12 +516,12 @@ void loadFromMemory(const std::string& context,
(ctx,
bencode::decode(context),
defaultName, overrideName,
- std::deque<std::string>());
+ std::vector<std::string>());
}
void loadFromMemory(const std::string& context,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& defaultName,
const std::string& overrideName)
{
diff --git a/src/bittorrent_helper.h b/src/bittorrent_helper.h
index e0b3fcf8..0a7e4c19 100644
--- a/src/bittorrent_helper.h
+++ b/src/bittorrent_helper.h
@@ -39,7 +39,6 @@
#include <string>
#include <vector>
-#include <deque>
#include <utility>
#include "SharedHandle.h"
@@ -94,7 +93,7 @@ void load(const std::string& torrentFile,
void load(const std::string& torrentFile,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& overrideName = "");
void loadFromMemory(const unsigned char* content, size_t length,
@@ -104,7 +103,7 @@ void loadFromMemory(const unsigned char* content, size_t length,
void loadFromMemory(const unsigned char* content, size_t length,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& defaultName,
const std::string& overrideName = "");
@@ -115,7 +114,7 @@ void loadFromMemory(const std::string& context,
void loadFromMemory(const std::string& context,
const SharedHandle<DownloadContext>& ctx,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& defaultName,
const std::string& overrideName = "");
diff --git a/src/download_helper.cc b/src/download_helper.cc
index 86e2e7ae..ad6bed5a 100644
--- a/src/download_helper.cc
+++ b/src/download_helper.cc
@@ -38,7 +38,6 @@
#include <fstream>
#include <algorithm>
#include <sstream>
-#include <vector>
#include "RequestGroup.h"
#include "Option.h"
@@ -153,11 +152,11 @@ const std::set<std::string>& listRequestOptions()
}
static void unfoldURI
-(std::deque<std::string>& result, const std::deque<std::string>& args)
+(std::vector<std::string>& result, const std::vector<std::string>& args)
{
ParameterizedStringParser p;
PStringBuildVisitor v;
- for(std::deque<std::string>::const_iterator itr = args.begin();
+ for(std::vector<std::string>::const_iterator itr = args.begin();
itr != args.end(); ++itr) {
v.reset();
p.parse(*itr)->accept(v);
@@ -165,9 +164,10 @@ static void unfoldURI
}
}
-static void splitURI(std::deque<std::string>& result,
- std::deque<std::string>::const_iterator begin,
- std::deque<std::string>::const_iterator end,
+template<typename InputIterator>
+static void splitURI(std::vector<std::string>& result,
+ InputIterator begin,
+ InputIterator end,
size_t numSplit)
{
size_t numURIs = std::distance(begin, end);
@@ -182,7 +182,7 @@ static void splitURI(std::deque<std::string>& result,
}
static SharedHandle<RequestGroup> createRequestGroup
-(const SharedHandle<Option>& option, const std::deque<std::string>& uris,
+(const SharedHandle<Option>& option, const std::vector<std::string>& uris,
bool useOutOption = false)
{
SharedHandle<RequestGroup> rg(new RequestGroup(option));
@@ -204,7 +204,7 @@ static
SharedHandle<RequestGroup>
createBtRequestGroup(const std::string& torrentFilePath,
const SharedHandle<Option>& option,
- const std::deque<std::string>& auxUris,
+ const std::vector<std::string>& auxUris,
const std::string& torrentData = "")
{
SharedHandle<RequestGroup> rg(new RequestGroup(option));
@@ -234,7 +234,7 @@ static
SharedHandle<RequestGroup>
createBtMagnetRequestGroup(const std::string& magnetLink,
const SharedHandle<Option>& option,
- const std::deque<std::string>& auxUris)
+ const std::vector<std::string>& auxUris)
{
SharedHandle<RequestGroup> rg(new RequestGroup(option));
SharedHandle<DownloadContext> dctx
@@ -259,12 +259,12 @@ createBtMagnetRequestGroup(const std::string& magnetLink,
}
void createRequestGroupForBitTorrent
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& torrentData)
{
- std::deque<std::string> nargs;
+ std::vector<std::string> nargs;
if(option->get(PREF_PARAMETERIZED_URI) == V_TRUE) {
unfoldURI(nargs, uris);
} else {
@@ -272,7 +272,7 @@ void createRequestGroupForBitTorrent
}
// we ignore -Z option here
size_t numSplit = option->getAsInt(PREF_SPLIT);
- std::deque<std::string> auxUris;
+ std::vector<std::string> auxUris;
splitURI(auxUris, nargs.begin(), nargs.end(), numSplit);
SharedHandle<RequestGroup> rg =
createBtRequestGroup(option->get(PREF_TORRENT_FILE), option, auxUris,
@@ -285,7 +285,7 @@ void createRequestGroupForBitTorrent
#ifdef ENABLE_METALINK
void createRequestGroupForMetalink
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
const std::string& metalinkData)
{
@@ -306,12 +306,12 @@ void createRequestGroupForMetalink
class AccRequestGroup {
private:
- std::deque<SharedHandle<RequestGroup> >& _requestGroups;
+ std::vector<SharedHandle<RequestGroup> >& _requestGroups;
ProtocolDetector _detector;
SharedHandle<Option> _option;
bool _ignoreLocalPath;
public:
- AccRequestGroup(std::deque<SharedHandle<RequestGroup> >& requestGroups,
+ AccRequestGroup(std::vector<SharedHandle<RequestGroup> >& requestGroups,
const SharedHandle<Option>& option,
bool ignoreLocalPath = false):
_requestGroups(requestGroups), _option(option),
@@ -321,7 +321,7 @@ public:
operator()(const std::string& uri)
{
if(_detector.isStreamProtocol(uri)) {
- std::deque<std::string> streamURIs;
+ std::vector<std::string> streamURIs;
size_t numSplit = _option->getAsInt(PREF_SPLIT);
for(size_t i = 0; i < numSplit; ++i) {
streamURIs.push_back(uri);
@@ -335,7 +335,7 @@ public:
else if(_detector.guessTorrentMagnet(uri)) {
try {
SharedHandle<RequestGroup> group =
- createBtMagnetRequestGroup(uri, _option, std::deque<std::string>());
+ createBtMagnetRequestGroup(uri, _option, std::vector<std::string>());
_requestGroups.push_back(group);
} catch(RecoverableException& e) {
// error occurred while parsing torrent file.
@@ -344,8 +344,8 @@ public:
}
} else if(!_ignoreLocalPath && _detector.guessTorrentFile(uri)) {
try {
- _requestGroups.push_back(createBtRequestGroup(uri, _option,
- std::deque<std::string>()));
+ _requestGroups.push_back
+ (createBtRequestGroup(uri, _option, std::vector<std::string>()));
} catch(RecoverableException& e) {
// error occurred while parsing torrent file.
// We simply ignore it.
@@ -380,13 +380,13 @@ public:
};
void createRequestGroupForUri
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
bool ignoreForceSequential,
bool ignoreLocalPath)
{
- std::deque<std::string> nargs;
+ std::vector<std::string> nargs;
if(option->get(PREF_PARAMETERIZED_URI) == V_TRUE) {
unfoldURI(nargs, uris);
} else {
@@ -396,12 +396,12 @@ void createRequestGroupForUri
std::for_each(nargs.begin(), nargs.end(),
AccRequestGroup(result, option, ignoreLocalPath));
} else {
- std::deque<std::string>::iterator strmProtoEnd =
+ std::vector<std::string>::iterator strmProtoEnd =
std::stable_partition(nargs.begin(), nargs.end(), StreamProtocolFilter());
// let's process http/ftp protocols first.
if(nargs.begin() != strmProtoEnd) {
size_t numSplit = option->getAsInt(PREF_SPLIT);
- std::deque<std::string> streamURIs;
+ std::vector<std::string> streamURIs;
splitURI(streamURIs, nargs.begin(), strmProtoEnd,
numSplit);
SharedHandle<RequestGroup> rg =
@@ -416,13 +416,13 @@ void createRequestGroupForUri
}
static void createRequestGroupForUriList
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
std::istream& in)
{
UriListParser p(in);
while(p.hasNext()) {
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
SharedHandle<Option> tempOption(new Option());
p.parseNext(uris, *tempOption.get());
if(uris.empty()) {
@@ -442,7 +442,7 @@ static void createRequestGroupForUriList
}
void createRequestGroupForUriList
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option)
{
if(option->get(PREF_INPUT_FILE) == "-") {
diff --git a/src/download_helper.h b/src/download_helper.h
index 68074a4f..e6d00dd4 100644
--- a/src/download_helper.h
+++ b/src/download_helper.h
@@ -38,7 +38,7 @@
#include "common.h"
#include <string>
-#include <deque>
+#include <vector>
#include <set>
#include "SharedHandle.h"
@@ -56,9 +56,9 @@ const std::set<std::string>& listRequestOptions();
// it is used as a content of torrent file instead. In this function,
// force-sequential is ignored.
void createRequestGroupForBitTorrent
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
const std::string& torrentData = "");
#endif // ENABLE_BITTORRENT
@@ -67,7 +67,7 @@ void createRequestGroupForBitTorrent
// metalink-file option. If non-empty metalinkData is specified, it is
// used as a content of metalink file instead.
void createRequestGroupForMetalink
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
const std::string& metalinkData = "");
#endif // ENABLE_METALINK
@@ -78,15 +78,15 @@ void createRequestGroupForMetalink
// The additional out and dir options can be specified after each line of URIs.
// This optional line must start with white space(s).
void createRequestGroupForUriList
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option);
// Create RequestGroup object using provided uris. If ignoreLocalPath
// is true, a path to torrent file abd metalink file are ignored.
void createRequestGroupForUri
-(std::deque<SharedHandle<RequestGroup> >& result,
+(std::vector<SharedHandle<RequestGroup> >& result,
const SharedHandle<Option>& option,
- const std::deque<std::string>& uris,
+ const std::vector<std::string>& uris,
bool ignoreForceSequential = false,
bool ignoreLocalPath = false);
diff --git a/src/magnet.cc b/src/magnet.cc
index b74e4f1d..c74c4ba2 100644
--- a/src/magnet.cc
+++ b/src/magnet.cc
@@ -45,11 +45,11 @@ BDE parse(const std::string& magnet)
if(!util::startsWith(magnet, "magnet:?")) {
return result;
}
- std::deque<std::string> queries;
+ std::vector<std::string> queries;
util::split(std::string(magnet.begin()+8, magnet.end()),
std::back_inserter(queries), "&");
BDE dict = BDE::dict();
- for(std::deque<std::string>::const_iterator i = queries.begin();
+ for(std::vector<std::string>::const_iterator i = queries.begin();
i != queries.end(); ++i) {
std::pair<std::string, std::string> kv;
util::split(kv, *i, '=');
diff --git a/src/main.cc b/src/main.cc
index 03cac9fa..7ad7e963 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -38,10 +38,10 @@
#include <unistd.h>
#include <getopt.h>
-#include <deque>
#include <fstream>
#include <iostream>
#include <numeric>
+#include <vector>
#include "SharedHandle.h"
#include "LogFactory.h"
@@ -132,10 +132,10 @@ static void showMetalinkFile
#if defined ENABLE_BITTORRENT || defined ENABLE_METALINK
static void showFiles
-(const std::deque<std::string>& uris, const SharedHandle<Option>& op)
+(const std::vector<std::string>& uris, const SharedHandle<Option>& op)
{
ProtocolDetector dt;
- for(std::deque<std::string>::const_iterator i = uris.begin();
+ for(std::vector<std::string>::const_iterator i = uris.begin();
i != uris.end(); ++i) {
printf(">>> ");
printf(MSG_SHOW_FILES, (*i).c_str());
@@ -162,12 +162,12 @@ static void showFiles
}
#endif // ENABLE_BITTORRENT || ENABLE_METALINK
-extern void option_processing(Option& option, std::deque<std::string>& uris,
+extern void option_processing(Option& option, std::vector<std::string>& uris,
int argc, char* const argv[]);
downloadresultcode::RESULT main(int argc, char* argv[])
{
- std::deque<std::string> args;
+ std::vector<std::string> args;
SharedHandle<Option> op(new Option());
option_processing(*op.get(), args, argc, argv);
@@ -227,7 +227,7 @@ downloadresultcode::RESULT main(int argc, char* argv[])
// died.
util::setGlobalSignalHandler(SIGCHLD, SIG_IGN, 0);
#endif // SIGCHILD
- std::deque<SharedHandle<RequestGroup> > requestGroups;
+ std::vector<SharedHandle<RequestGroup> > requestGroups;
#ifdef ENABLE_BITTORRENT
if(!op->blank(PREF_TORRENT_FILE)) {
if(op->get(PREF_SHOW_FILES) == V_TRUE) {
diff --git a/src/option_processing.cc b/src/option_processing.cc
index d97652b4..ce9c9009 100644
--- a/src/option_processing.cc
+++ b/src/option_processing.cc
@@ -82,7 +82,7 @@ static void overrideWithEnv(Option& op, const OptionParser& optionParser,
}
}
-void option_processing(Option& op, std::deque<std::string>& uris,
+void option_processing(Option& op, std::vector<std::string>& uris,
int argc, char* const argv[])
{
OptionParser oparser;
diff --git a/src/util.h b/src/util.h
index e7b83e56..d1985209 100644
--- a/src/util.h
+++ b/src/util.h
@@ -41,7 +41,6 @@
#include <string>
#include <utility>
-#include <deque>
#include <iosfwd>
#include <ostream>
#include <numeric>
@@ -291,7 +290,7 @@ std::string htmlEscape(const std::string& src);
template<typename InputIterator>
std::string joinPath(InputIterator first, InputIterator last)
{
- std::deque<std::string> elements;
+ std::vector<std::string> elements;
for(;first != last; ++first) {
if(*first == "..") {
if(!elements.empty()) {
diff --git a/test/BNodeTest.cc b/test/BNodeTest.cc
index 8e86a19c..f5ddac6e 100644
--- a/test/BNodeTest.cc
+++ b/test/BNodeTest.cc
@@ -156,7 +156,7 @@ void BNodeTest::testFindClosestKNodes()
{
unsigned char targetID[DHT_ID_LENGTH];
memset(targetID, 0x80, DHT_ID_LENGTH);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
BNode::findClosestKNodes(nodes, bp4, targetID);
CPPUNIT_ASSERT_EQUAL((size_t)8, nodes.size());
CPPUNIT_ASSERT(bucket4->isInRange(nodes[0]));
@@ -171,7 +171,7 @@ void BNodeTest::testFindClosestKNodes()
{
unsigned char targetID[DHT_ID_LENGTH];
memset(targetID, 0xf0, DHT_ID_LENGTH);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
BNode::findClosestKNodes(nodes, bp4, targetID);
CPPUNIT_ASSERT_EQUAL((size_t)8, nodes.size());
CPPUNIT_ASSERT(bucket1->isInRange(nodes[0]));
@@ -190,7 +190,7 @@ void BNodeTest::testFindClosestKNodes()
}
unsigned char targetID[DHT_ID_LENGTH];
memset(targetID, 0x80, DHT_ID_LENGTH);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
BNode::findClosestKNodes(nodes, bp4, targetID);
CPPUNIT_ASSERT_EQUAL((size_t)8, nodes.size());
for(size_t i = 0; i < DHTBucket::K; ++i) {
@@ -217,7 +217,7 @@ void BNodeTest::testEnumerateBucket()
{
BNode b(bucket1);
- std::deque<SharedHandle<DHTBucket> > buckets;
+ std::vector<SharedHandle<DHTBucket> > buckets;
BNode::enumerateBucket(buckets, &b);
CPPUNIT_ASSERT_EQUAL((size_t)1, buckets.size());
CPPUNIT_ASSERT(bucket1 == buckets[0]);
@@ -245,7 +245,7 @@ void BNodeTest::testEnumerateBucket()
bp4->setLeft(bp3);
bp4->setRight(b2);
- std::deque<SharedHandle<DHTBucket> > buckets;
+ std::vector<SharedHandle<DHTBucket> > buckets;
BNode::enumerateBucket(buckets, bp4);
CPPUNIT_ASSERT_EQUAL((size_t)5, buckets.size());
CPPUNIT_ASSERT(bucket1 == buckets[0]);
diff --git a/test/BtDependencyTest.cc b/test/BtDependencyTest.cc
index 312fa54b..856e7835 100644
--- a/test/BtDependencyTest.cc
+++ b/test/BtDependencyTest.cc
@@ -38,7 +38,7 @@ class BtDependencyTest:public CppUnit::TestFixture {
SharedHandle<DownloadContext> dctx
(new DownloadContext(0, 0, "/tmp/outfile.path"));
dctx->setDir("/tmp");
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
uris.push_back("http://localhost/outfile.path");
SharedHandle<FileEntry> fileEntry = dctx->getFirstFileEntry();
fileEntry->setUris(uris);
diff --git a/test/BtPostDownloadHandlerTest.cc b/test/BtPostDownloadHandlerTest.cc
index 2cc732cd..3f48f31d 100644
--- a/test/BtPostDownloadHandlerTest.cc
+++ b/test/BtPostDownloadHandlerTest.cc
@@ -71,7 +71,7 @@ void BtPostDownloadHandlerTest::testGetNextRequestGroups()
rg.initPieceStorage();
BtPostDownloadHandler handler;
- std::deque<SharedHandle<RequestGroup> > groups;
+ std::vector<SharedHandle<RequestGroup> > groups;
handler.getNextRequestGroups(groups, &rg);
CPPUNIT_ASSERT_EQUAL((size_t)1, groups.size());
CPPUNIT_ASSERT_EQUAL
diff --git a/test/BtRequestMessageTest.cc b/test/BtRequestMessageTest.cc
index 8314b0f8..62dd95bd 100644
--- a/test/BtRequestMessageTest.cc
+++ b/test/BtRequestMessageTest.cc
@@ -269,9 +269,7 @@ void BtRequestMessageTest::testValidate() {
msg.setBtMessageValidator
(SharedHandle<BtMessageValidator>
(new RangeBtMessageValidator(&msg, 1024, 256*1024)));
- std::deque<std::string> errors;
-
- msg.validate(errors);
+ msg.validate();
}
void BtRequestMessageTest::testValidate_lengthTooLong() {
@@ -279,9 +277,8 @@ void BtRequestMessageTest::testValidate_lengthTooLong() {
msg.setBtMessageValidator
(SharedHandle<BtMessageValidator>
(new RangeBtMessageValidator(&msg, 1024, 256*1024)));
- std::deque<std::string> errors;
try {
- msg.validate(errors);
+ msg.validate();
CPPUNIT_FAIL("exception must be thrown.");
} catch(DlAbortEx& e) {
CPPUNIT_ASSERT_EQUAL(std::string("Length too long: 16385 > 16KB"),
diff --git a/test/CookieStorageTest.cc b/test/CookieStorageTest.cc
index 8ca7acf0..8976cbe5 100644
--- a/test/CookieStorageTest.cc
+++ b/test/CookieStorageTest.cc
@@ -168,16 +168,16 @@ void CookieStorageTest::testCriteriaFind()
CPPUNIT_ASSERT(st.store(juliet1));
CPPUNIT_ASSERT(st.store(juliet2));
- std::deque<Cookie> aria2Slash = st.criteriaFind("www.dl.aria2.org", "/",
- 0, false);
+ std::vector<Cookie> aria2Slash = st.criteriaFind("www.dl.aria2.org", "/",
+ 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)2, aria2Slash.size());
CPPUNIT_ASSERT(std::find(aria2Slash.begin(), aria2Slash.end(), alpha)
!= aria2Slash.end());
CPPUNIT_ASSERT(std::find(aria2Slash.begin(), aria2Slash.end(), echo)
!= aria2Slash.end());
- std::deque<Cookie> aria2SlashFoo = st.criteriaFind("www.dl.aria2.org", "/foo",
- 0, false);
+ std::vector<Cookie> aria2SlashFoo = st.criteriaFind("www.dl.aria2.org","/foo",
+ 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)3, aria2SlashFoo.size());
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), aria2SlashFoo[0].getName());
CPPUNIT_ASSERT(std::find(aria2SlashFoo.begin(), aria2SlashFoo.end(), alpha)
@@ -185,32 +185,32 @@ void CookieStorageTest::testCriteriaFind()
CPPUNIT_ASSERT(std::find(aria2SlashFoo.begin(), aria2SlashFoo.end(), echo)
!= aria2SlashFoo.end());
- std::deque<Cookie> aria2Expires = st.criteriaFind("www.dl.aria2.org", "/foo",
- Time().getTime()+120,
- false);
+ std::vector<Cookie> aria2Expires = st.criteriaFind("www.dl.aria2.org", "/foo",
+ Time().getTime()+120,
+ false);
CPPUNIT_ASSERT_EQUAL((size_t)2, aria2Expires.size());
CPPUNIT_ASSERT(std::find(aria2Expires.begin(), aria2Expires.end(), alpha)
!= aria2Expires.end());
CPPUNIT_ASSERT(std::find(aria2Expires.begin(), aria2Expires.end(), echo)
!= aria2Expires.end());
- std::deque<Cookie> dlAria2 = st.criteriaFind("dl.aria2.org", "/", 0, false);
+ std::vector<Cookie> dlAria2 = st.criteriaFind("dl.aria2.org", "/", 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)1, dlAria2.size());
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), dlAria2[0].getName());
- std::deque<Cookie> numericHostCookies = st.criteriaFind("192.168.1.1", "/", 0,
- false);
+ std::vector<Cookie> numericHostCookies = st.criteriaFind("192.168.1.1", "/",0,
+ false);
CPPUNIT_ASSERT_EQUAL((size_t)1, numericHostCookies.size());
CPPUNIT_ASSERT_EQUAL(std::string("golf"), numericHostCookies[0].getName());
- std::deque<Cookie> sameNameCookies =
+ std::vector<Cookie> sameNameCookies =
st.criteriaFind("samename.x", "/bar/wine", 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)3, sameNameCookies.size());
CPPUNIT_ASSERT_EQUAL(std::string("HOTEL3"), sameNameCookies[0].getValue());
CPPUNIT_ASSERT_EQUAL(std::string("HOTEL4"), sameNameCookies[1].getValue());
CPPUNIT_ASSERT_EQUAL(std::string("HOTEL1"), sameNameCookies[2].getValue());
- std::deque<Cookie> defaultDomainCookies =
+ std::vector<Cookie> defaultDomainCookies =
st.criteriaFind("default.domain", "/foo", 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)2, defaultDomainCookies.size());
CPPUNIT_ASSERT_EQUAL(std::string("INDIA1"),
@@ -223,7 +223,7 @@ void CookieStorageTest::testCriteriaFind()
// localhost.local case
- std::deque<Cookie> localDomainCookies =
+ std::vector<Cookie> localDomainCookies =
st.criteriaFind("localhost", "/foo", 0, false);
CPPUNIT_ASSERT_EQUAL((size_t)2, localDomainCookies.size());
CPPUNIT_ASSERT_EQUAL(std::string("JULIET1"),
diff --git a/test/DHTAnnouncePeerMessageTest.cc b/test/DHTAnnouncePeerMessageTest.cc
index 67eab08b..dc3a8b8c 100644
--- a/test/DHTAnnouncePeerMessageTest.cc
+++ b/test/DHTAnnouncePeerMessageTest.cc
@@ -111,7 +111,7 @@ void DHTAnnouncePeerMessageTest::testDoReceivedAction()
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("announce_peer"), m->getMessageType());
CPPUNIT_ASSERT_EQUAL(transactionID, m->getTransactionID());
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
peerAnnounceStorage.getPeers(peers, infoHash);
CPPUNIT_ASSERT_EQUAL((size_t)1, peers.size());
{
diff --git a/test/DHTBucketTest.cc b/test/DHTBucketTest.cc
index 5db4e879..3580bc13 100644
--- a/test/DHTBucketTest.cc
+++ b/test/DHTBucketTest.cc
@@ -373,7 +373,7 @@ void DHTBucketTest::testGetGoodNodes()
}
nodes[3]->markBad();
nodes[5]->markBad();
- std::deque<SharedHandle<DHTNode> > goodNodes;
+ std::vector<SharedHandle<DHTNode> > goodNodes;
bucket.getGoodNodes(goodNodes);
CPPUNIT_ASSERT_EQUAL((size_t)6, goodNodes.size());
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, goodNodes[0]->getPort());
diff --git a/test/DHTFindNodeMessageTest.cc b/test/DHTFindNodeMessageTest.cc
index f8491813..00236dac 100644
--- a/test/DHTFindNodeMessageTest.cc
+++ b/test/DHTFindNodeMessageTest.cc
@@ -30,9 +30,10 @@ public:
class MockDHTMessageFactory2:public MockDHTMessageFactory {
public:
virtual SharedHandle<DHTMessage>
- createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& transactionID)
+ createFindNodeReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& transactionID)
{
SharedHandle<MockDHTMessage> m
(new MockDHTMessage(_localNode, remoteNode, "find_node", transactionID));
diff --git a/test/DHTFindNodeReplyMessageTest.cc b/test/DHTFindNodeReplyMessageTest.cc
index 1998bce8..2391e73a 100644
--- a/test/DHTFindNodeReplyMessageTest.cc
+++ b/test/DHTFindNodeReplyMessageTest.cc
@@ -52,7 +52,8 @@ void DHTFindNodeReplyMessageTest::testGetBencodedMessage()
std::string(&nodes[i]->getID()[0], &nodes[i]->getID()[DHT_ID_LENGTH])+
std::string(&buf[0], &buf[sizeof(buf)]);
}
- msg.setClosestKNodes(std::deque<SharedHandle<DHTNode> >(&nodes[0], &nodes[DHTBucket::K]));
+ msg.setClosestKNodes
+ (std::vector<SharedHandle<DHTNode> >(&nodes[0], &nodes[DHTBucket::K]));
std::string msgbody = msg.getBencodedMessage();
diff --git a/test/DHTGetPeersMessageTest.cc b/test/DHTGetPeersMessageTest.cc
index 9a8ae5fc..c082fb93 100644
--- a/test/DHTGetPeersMessageTest.cc
+++ b/test/DHTGetPeersMessageTest.cc
@@ -33,7 +33,7 @@ public:
public:
virtual SharedHandle<DHTMessage>
createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<Peer> >& peers,
+ const std::vector<SharedHandle<Peer> >& peers,
const std::string& token,
const std::string& transactionID)
{
@@ -45,10 +45,11 @@ public:
}
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& token,
- const std::string& transactionID)
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& token,
+ const std::string& transactionID)
{
SharedHandle<MockDHTMessage> m
(new MockDHTMessage(_localNode, remoteNode, "get_peers", transactionID));
diff --git a/test/DHTGetPeersReplyMessageTest.cc b/test/DHTGetPeersReplyMessageTest.cc
index a089604f..75571edd 100644
--- a/test/DHTGetPeersReplyMessageTest.cc
+++ b/test/DHTGetPeersReplyMessageTest.cc
@@ -64,7 +64,7 @@ void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
std::string(&buf[0], &buf[sizeof(buf)]);
}
msg.setClosestKNodes
- (std::deque<SharedHandle<DHTNode> >(&nodes[0], &nodes[DHTBucket::K]));
+ (std::vector<SharedHandle<DHTNode> >(&nodes[0], &nodes[DHTBucket::K]));
std::string msgbody = msg.getBencodedMessage();
@@ -75,7 +75,7 @@ void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
}
rDict.removeKey("nodes");
{
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
BDE valuesList = BDE::list();
for(size_t i = 0; i < 4; ++i) {
SharedHandle<Peer> peer(new Peer("192.168.0."+util::uitos(i+1), 6881+i));
diff --git a/test/DHTPeerAnnounceEntryTest.cc b/test/DHTPeerAnnounceEntryTest.cc
index a7cc91af..fd53c35c 100644
--- a/test/DHTPeerAnnounceEntryTest.cc
+++ b/test/DHTPeerAnnounceEntryTest.cc
@@ -44,7 +44,8 @@ void DHTPeerAnnounceEntryTest::testRemoveStalePeerAddrEntry()
CPPUNIT_ASSERT_EQUAL((size_t)2, entry.countPeerAddrEntry());
- const std::deque<PeerAddrEntry>& peerAddrEntries = entry.getPeerAddrEntries();
+ const std::vector<PeerAddrEntry>& peerAddrEntries =
+ entry.getPeerAddrEntries();
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), peerAddrEntries[0].getIPAddress());
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.3"), peerAddrEntries[1].getIPAddress());
}
@@ -89,7 +90,7 @@ void DHTPeerAnnounceEntryTest::testGetPeers()
DHTPeerAnnounceEntry entry(infohash);
{
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
entry.getPeers(peers);
CPPUNIT_ASSERT_EQUAL((size_t)0, peers.size());
}
@@ -98,7 +99,7 @@ void DHTPeerAnnounceEntryTest::testGetPeers()
entry.addPeerAddrEntry(PeerAddrEntry("192.168.0.2", 6882));
{
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
entry.getPeers(peers);
CPPUNIT_ASSERT_EQUAL((size_t)2, peers.size());
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), peers[0]->ipaddr);
diff --git a/test/DHTPeerAnnounceStorageTest.cc b/test/DHTPeerAnnounceStorageTest.cc
index 79f3f008..a6c4c1b3 100644
--- a/test/DHTPeerAnnounceStorageTest.cc
+++ b/test/DHTPeerAnnounceStorageTest.cc
@@ -39,7 +39,7 @@ void DHTPeerAnnounceStorageTest::testAddAnnounce()
storage.addPeerAnnounce(infohash2, "192.168.0.3", 6883);
storage.addPeerAnnounce(infohash2, "192.168.0.4", 6884);
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
storage.getPeers(peers, infohash2);
CPPUNIT_ASSERT_EQUAL((size_t)2, peers.size());
diff --git a/test/DHTRoutingTableDeserializerTest.cc b/test/DHTRoutingTableDeserializerTest.cc
index 4e4267aa..a7f81f6c 100644
--- a/test/DHTRoutingTableDeserializerTest.cc
+++ b/test/DHTRoutingTableDeserializerTest.cc
@@ -43,7 +43,8 @@ void DHTRoutingTableDeserializerTest::testDeserialize()
nodesSrc[i]->setPort(6881+i);
}
nodesSrc[1]->setIPAddress("non-numerical-name");
- std::deque<SharedHandle<DHTNode> > nodes(&nodesSrc[0], &nodesSrc[arrayLength(nodesSrc)]);
+ std::vector<SharedHandle<DHTNode> > nodes
+ (&nodesSrc[0], &nodesSrc[arrayLength(nodesSrc)]);
DHTRoutingTableSerializer s;
s.setLocalNode(localNode);
@@ -61,7 +62,7 @@ void DHTRoutingTableDeserializerTest::testDeserialize()
std::cout << d.getSerializedTime().getTime() << std::endl;
CPPUNIT_ASSERT_EQUAL((size_t)2, d.getNodes().size());
- const std::deque<SharedHandle<DHTNode> >& dsnodes = d.getNodes();
+ const std::vector<SharedHandle<DHTNode> >& dsnodes = d.getNodes();
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), dsnodes[0]->getIPAddress());
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, dsnodes[0]->getPort());
CPPUNIT_ASSERT(memcmp(nodes[0]->getID(), dsnodes[0]->getID(), DHT_ID_LENGTH) == 0);
diff --git a/test/DHTRoutingTableSerializerTest.cc b/test/DHTRoutingTableSerializerTest.cc
index 09409c76..3c81e3df 100644
--- a/test/DHTRoutingTableSerializerTest.cc
+++ b/test/DHTRoutingTableSerializerTest.cc
@@ -40,7 +40,8 @@ void DHTRoutingTableSerializerTest::testSerialize()
nodesSrc[i]->setPort(6881+i);
}
nodesSrc[1]->setIPAddress("non-numerical-name");
- std::deque<SharedHandle<DHTNode> > nodes(&nodesSrc[0], &nodesSrc[arrayLength(nodesSrc)]);
+ std::vector<SharedHandle<DHTNode> > nodes
+ (&nodesSrc[0], &nodesSrc[arrayLength(nodesSrc)]);
DHTRoutingTableSerializer s;
s.setLocalNode(localNode);
diff --git a/test/DHTRoutingTableTest.cc b/test/DHTRoutingTableTest.cc
index 67a3bb9f..8f664dba 100644
--- a/test/DHTRoutingTableTest.cc
+++ b/test/DHTRoutingTableTest.cc
@@ -99,7 +99,7 @@ void DHTRoutingTableTest::testGetClosestKNodes()
}
{
createID(id, 0x80, 0x10);
- std::deque<SharedHandle<DHTNode> > nodes;
+ std::vector<SharedHandle<DHTNode> > nodes;
table.getClosestKNodes(nodes, id);
CPPUNIT_ASSERT_EQUAL((size_t)8, nodes.size());
for(size_t i = 0; i < nodes.size(); ++i) {
diff --git a/test/DefaultBtMessageDispatcherTest.cc b/test/DefaultBtMessageDispatcherTest.cc
index b80b2601..bfba0bb8 100644
--- a/test/DefaultBtMessageDispatcherTest.cc
+++ b/test/DefaultBtMessageDispatcherTest.cc
@@ -152,7 +152,7 @@ public:
_messageFactory.reset(new MockBtMessageFactory2());
- _rgman.reset(new RequestGroupMan(std::deque<SharedHandle<RequestGroup> >(),
+ _rgman.reset(new RequestGroupMan(std::vector<SharedHandle<RequestGroup> >(),
0, _option.get()));
btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
diff --git a/test/DefaultBtProgressInfoFileTest.cc b/test/DefaultBtProgressInfoFileTest.cc
index 8045f840..0c6d2106 100644
--- a/test/DefaultBtProgressInfoFileTest.cc
+++ b/test/DefaultBtProgressInfoFileTest.cc
@@ -143,7 +143,7 @@ void DefaultBtProgressInfoFileTest::testLoad_compat()
_pieceStorage->countInFlightPiece());
// piece index 1
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
_pieceStorage->getInFlightPieces(inFlightPieces);
SharedHandle<Piece> piece1 = inFlightPieces[0];
@@ -192,7 +192,7 @@ void DefaultBtProgressInfoFileTest::testLoad()
_pieceStorage->countInFlightPiece());
// piece index 1
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
_pieceStorage->getInFlightPieces(inFlightPieces);
SharedHandle<Piece> piece1 = inFlightPieces[0];
@@ -222,7 +222,7 @@ void DefaultBtProgressInfoFileTest::testSave()
SharedHandle<Piece> p1(new Piece(1, 1024));
SharedHandle<Piece> p2(new Piece(2, 512));
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.push_back(p1);
inFlightPieces.push_back(p2);
_pieceStorage->addInFlightPiece(inFlightPieces);
@@ -357,7 +357,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat()
_pieceStorage->countInFlightPiece());
// piece index 1
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
_pieceStorage->getInFlightPieces(inFlightPieces);
SharedHandle<Piece> piece1 = inFlightPieces[0];
@@ -402,7 +402,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
_pieceStorage->countInFlightPiece());
// piece index 1
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
_pieceStorage->getInFlightPieces(inFlightPieces);
SharedHandle<Piece> piece1 = inFlightPieces[0];
@@ -457,7 +457,7 @@ void DefaultBtProgressInfoFileTest::testSave_nonBt()
SharedHandle<Piece> p1(new Piece(1, 1024));
SharedHandle<Piece> p2(new Piece(2, 512));
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.push_back(p1);
inFlightPieces.push_back(p2);
_pieceStorage->addInFlightPiece(inFlightPieces);
diff --git a/test/DefaultBtRequestFactoryTest.cc b/test/DefaultBtRequestFactoryTest.cc
index 23c77ca2..c68a0e9a 100644
--- a/test/DefaultBtRequestFactoryTest.cc
+++ b/test/DefaultBtRequestFactoryTest.cc
@@ -142,11 +142,11 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages() {
_requestFactory->addTargetPiece(piece1);
_requestFactory->addTargetPiece(piece2);
- std::deque<SharedHandle<BtMessage> > msgs;
+ std::vector<SharedHandle<BtMessage> > msgs;
_requestFactory->createRequestMessages(msgs, 3);
CPPUNIT_ASSERT_EQUAL((size_t)3, msgs.size());
- std::deque<SharedHandle<BtMessage> >::iterator itr = msgs.begin();
+ std::vector<SharedHandle<BtMessage> >::iterator itr = msgs.begin();
SharedHandle<MockBtRequestMessage> msg =
dynamic_pointer_cast<MockBtRequestMessage>(*itr);
CPPUNIT_ASSERT_EQUAL((size_t)0, msg->index);
@@ -161,7 +161,7 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages() {
CPPUNIT_ASSERT_EQUAL((size_t)0, msg->blockIndex);
{
- std::deque<SharedHandle<BtMessage> > msgs;
+ std::vector<SharedHandle<BtMessage> > msgs;
_requestFactory->createRequestMessages(msgs, 3);
CPPUNIT_ASSERT_EQUAL((size_t)1, msgs.size());
}
@@ -179,11 +179,11 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages_onEndGame() {
_requestFactory->addTargetPiece(piece1);
_requestFactory->addTargetPiece(piece2);
- std::deque<SharedHandle<BtMessage> > msgs;
+ std::vector<SharedHandle<BtMessage> > msgs;
_requestFactory->createRequestMessagesOnEndGame(msgs, 3);
- std::deque<SharedHandle<MockBtRequestMessage> > mmsgs;
- for(std::deque<SharedHandle<BtMessage> >::iterator i = msgs.begin();
+ std::vector<SharedHandle<MockBtRequestMessage> > mmsgs;
+ for(std::vector<SharedHandle<BtMessage> >::iterator i = msgs.begin();
i != msgs.end(); ++i) {
mmsgs.push_back(dynamic_pointer_cast<MockBtRequestMessage>(*i));
}
@@ -191,7 +191,7 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages_onEndGame() {
std::sort(mmsgs.begin(), mmsgs.end(), SortMockBtRequestMessage());
CPPUNIT_ASSERT_EQUAL((size_t)3, mmsgs.size());
- std::deque<SharedHandle<MockBtRequestMessage> >::iterator itr = mmsgs.begin();
+ std::vector<SharedHandle<MockBtRequestMessage> >::iterator itr =mmsgs.begin();
MockBtRequestMessage* msg = (*itr).get();
CPPUNIT_ASSERT_EQUAL((size_t)0, msg->index);
CPPUNIT_ASSERT_EQUAL((size_t)1, msg->blockIndex);
@@ -233,7 +233,7 @@ void DefaultBtRequestFactoryTest::testGetTargetPieceIndexes()
_requestFactory->addTargetPiece(piece1);
_requestFactory->addTargetPiece(piece5);
- std::deque<size_t> indexes;
+ std::vector<size_t> indexes;
_requestFactory->getTargetPieceIndexes(indexes);
CPPUNIT_ASSERT_EQUAL((size_t)3, indexes.size());
CPPUNIT_ASSERT_EQUAL((size_t)3, indexes[0]);
diff --git a/test/DefaultPeerStorageTest.cc b/test/DefaultPeerStorageTest.cc
index 72ed8cf9..6d9afcc6 100644
--- a/test/DefaultPeerStorageTest.cc
+++ b/test/DefaultPeerStorageTest.cc
@@ -179,7 +179,7 @@ void DefaultPeerStorageTest::testActivatePeer() {
DefaultPeerStorage ps(option);
{
- std::deque<SharedHandle<Peer> > peers;
+ std::vector<SharedHandle<Peer> > peers;
ps.getActivePeers(peers);
CPPUNIT_ASSERT_EQUAL((size_t)0, peers.size());
}
@@ -189,7 +189,7 @@ void DefaultPeerStorageTest::testActivatePeer() {
ps.addPeer(peer1);
{
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
ps.getActivePeers(activePeers);
CPPUNIT_ASSERT_EQUAL((size_t)0, activePeers.size());
@@ -197,7 +197,7 @@ void DefaultPeerStorageTest::testActivatePeer() {
{
peer1->allocateSessionResource(1024*1024, 1024*1024*10);
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
ps.getActivePeers(activePeers);
CPPUNIT_ASSERT_EQUAL((size_t)1, activePeers.size());
diff --git a/test/DefaultPieceStorageTest.cc b/test/DefaultPieceStorageTest.cc
index 0834d44c..e33ca135 100644
--- a/test/DefaultPieceStorageTest.cc
+++ b/test/DefaultPieceStorageTest.cc
@@ -106,7 +106,7 @@ void DefaultPieceStorageTest::testGetMissingPiece_excludedIndexes()
peer->setAllBitfield();
- std::deque<size_t> excludedIndexes;
+ std::vector<size_t> excludedIndexes;
excludedIndexes.push_back(1);
SharedHandle<Piece> piece = pss.getMissingPiece(peer, excludedIndexes);
@@ -148,7 +148,7 @@ void DefaultPieceStorageTest::testGetMissingFastPiece_excludedIndexes()
peer->addPeerAllowedIndex(1);
peer->addPeerAllowedIndex(2);
- std::deque<size_t> excludedIndexes;
+ std::vector<size_t> excludedIndexes;
excludedIndexes.push_back(2);
SharedHandle<Piece> piece = pss.getMissingFastPiece(peer, excludedIndexes);
@@ -281,7 +281,7 @@ void DefaultPieceStorageTest::testGetCompletedLength()
ps.markPiecesDone(250*1024*1024);
CPPUNIT_ASSERT_EQUAL((uint64_t)250*1024*1024, ps.getCompletedLength());
- std::deque<SharedHandle<Piece> > inFlightPieces;
+ std::vector<SharedHandle<Piece> > inFlightPieces;
for(int i = 0; i < 2; ++i) {
SharedHandle<Piece> p(new Piece(250+i, 1024*1024));
for(int j = 0; j < 32; ++j) {
diff --git a/test/DownloadHelperTest.cc b/test/DownloadHelperTest.cc
index 9b536877..17fde9b7 100644
--- a/test/DownloadHelperTest.cc
+++ b/test/DownloadHelperTest.cc
@@ -2,7 +2,6 @@
#include <iostream>
#include <string>
-#include <deque>
#include <algorithm>
#include <cppunit/extensions/HelperMacros.h>
@@ -70,18 +69,18 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
"http://bravo/file",
"http://charlie/file"
};
- std::deque<std::string> uris(&array[0], &array[arrayLength(array)]);
+ std::vector<std::string> uris(&array[0], &array[arrayLength(array)]);
_option->put(PREF_SPLIT, "3");
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
@@ -94,13 +93,13 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
}
_option->put(PREF_SPLIT, "5");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)5, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
@@ -113,13 +112,13 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
}
_option->put(PREF_SPLIT, "2");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
@@ -129,7 +128,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
}
_option->put(PREF_FORCE_SEQUENTIAL, V_TRUE);
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
@@ -137,7 +136,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
// for alpha server
SharedHandle<RequestGroup> alphaGroup = result[0];
- std::deque<std::string> alphaURIs;
+ std::vector<std::string> alphaURIs;
alphaGroup->getDownloadContext()->getFirstFileEntry()->getUris(alphaURIs);
CPPUNIT_ASSERT_EQUAL((size_t)2, alphaURIs.size());
for(size_t i = 0; i < 2; ++i) {
@@ -158,19 +157,19 @@ void DownloadHelperTest::testCreateRequestGroupForUri_parameterized()
"http://{alpha, bravo}/file",
"http://charlie/file"
};
- std::deque<std::string> uris(&array[0], &array[arrayLength(array)]);
+ std::vector<std::string> uris(&array[0], &array[arrayLength(array)]);
_option->put(PREF_SPLIT, "3");
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
_option->put(PREF_PARAMETERIZED_URI, V_TRUE);
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
@@ -194,18 +193,18 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent()
"http://bravo/file",
"http://charlie/file"
};
- std::deque<std::string> uris(&array[0], &array[arrayLength(array)]);
+ std::vector<std::string> uris(&array[0], &array[arrayLength(array)]);
_option->put(PREF_SPLIT, "3");
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
CPPUNIT_ASSERT_EQUAL((size_t)2, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
@@ -220,7 +219,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent()
ctx->getBasePath());
SharedHandle<RequestGroup> torrentGroup = result[1];
- std::deque<std::string> auxURIs;
+ std::vector<std::string> auxURIs;
torrentGroup->getDownloadContext()->getFirstFileEntry()->getUris(auxURIs);
CPPUNIT_ASSERT(auxURIs.empty());
CPPUNIT_ASSERT_EQUAL((unsigned int)3,
@@ -242,13 +241,13 @@ void DownloadHelperTest::testCreateRequestGroupForUri_Metalink()
"http://charlie/file",
"test.xml"
};
- std::deque<std::string> uris(&array[0], &array[arrayLength(array)]);
+ std::vector<std::string> uris(&array[0], &array[arrayLength(array)]);
_option->put(PREF_SPLIT, "3");
_option->put(PREF_METALINK_SERVERS, "2");
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUri(result, _option, uris);
@@ -261,7 +260,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_Metalink()
#endif // !ENABLE_BITTORRENT
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < 3; ++i) {
@@ -296,14 +295,14 @@ void DownloadHelperTest::testCreateRequestGroupForUriList()
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForUriList(result, _option);
CPPUNIT_ASSERT_EQUAL((size_t)2, result.size());
SharedHandle<RequestGroup> fileGroup = result[0];
- std::deque<std::string> fileURIs;
+ std::vector<std::string> fileURIs;
fileGroup->getDownloadContext()->getFirstFileEntry()->getUris(fileURIs);
CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), fileURIs[0]);
CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), fileURIs[1]);
@@ -330,20 +329,20 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent()
"http://charlie/file"
};
- std::deque<std::string> auxURIs(&array[0], &array[arrayLength(array)]);
+ std::vector<std::string> auxURIs(&array[0], &array[arrayLength(array)]);
_option->put(PREF_SPLIT, "5");
_option->put(PREF_TORRENT_FILE, "test.torrent");
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForBitTorrent(result, _option, auxURIs);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
// See -s option is ignored
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
@@ -354,19 +353,19 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent()
}
{
// no URIs are given
- std::deque<SharedHandle<RequestGroup> > result;
- std::deque<std::string> emptyURIs;
+ std::vector<SharedHandle<RequestGroup> > result;
+ std::vector<std::string> emptyURIs;
createRequestGroupForBitTorrent(result, _option, emptyURIs);
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)0, uris.size());
}
_option->put(PREF_FORCE_SEQUENTIAL, V_TRUE);
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForBitTorrent(result, _option, auxURIs);
@@ -385,7 +384,7 @@ void DownloadHelperTest::testCreateRequestGroupForMetalink()
_option->put(PREF_DIR, "/tmp");
_option->put(PREF_OUT, "file.out");
{
- std::deque<SharedHandle<RequestGroup> > result;
+ std::vector<SharedHandle<RequestGroup> > result;
createRequestGroupForMetalink(result, _option);
@@ -395,7 +394,7 @@ void DownloadHelperTest::testCreateRequestGroupForMetalink()
CPPUNIT_ASSERT_EQUAL((size_t)5, result.size());
#endif // !ENABLE_BITTORRENT
SharedHandle<RequestGroup> group = result[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
std::sort(uris.begin(), uris.end());
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
diff --git a/test/FeedbackURISelectorTest.cc b/test/FeedbackURISelectorTest.cc
index 5130b4cc..b2e9c224 100644
--- a/test/FeedbackURISelectorTest.cc
+++ b/test/FeedbackURISelectorTest.cc
@@ -33,7 +33,7 @@ public:
"ftp://alpha/file",
"http://bravo/file"
};
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
uris.assign(&urisSrc[0], &urisSrc[arrayLength(urisSrc)]);
_fileEntry.setUris(uris);
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc
index 42af9ec8..ee082cd8 100644
--- a/test/FileEntryTest.cc
+++ b/test/FileEntryTest.cc
@@ -36,7 +36,7 @@ static SharedHandle<FileEntry> createFileEntry()
"ftp://localhost/aria2.zip",
"http://mirror/aria2.zip" };
SharedHandle<FileEntry> fileEntry(new FileEntry());
- fileEntry->setUris(std::deque<std::string>(&uris[0], &uris[3]));
+ fileEntry->setUris(std::vector<std::string>(&uris[0], &uris[3]));
return fileEntry;
}
diff --git a/test/HttpHeaderTest.cc b/test/HttpHeaderTest.cc
index 64381bd2..e3ae3cc8 100644
--- a/test/HttpHeaderTest.cc
+++ b/test/HttpHeaderTest.cc
@@ -54,7 +54,7 @@ void HttpHeaderTest::testGet()
h.put("a", "101");
h.put("B", "200");
- std::deque<std::string> r(h.get("A"));
+ std::vector<std::string> r(h.get("A"));
CPPUNIT_ASSERT_EQUAL((size_t)2, r.size());
CPPUNIT_ASSERT_EQUAL(std::string("100"), r[0]);
CPPUNIT_ASSERT_EQUAL(std::string("101"), r[1]);
diff --git a/test/InOrderURISelectorTest.cc b/test/InOrderURISelectorTest.cc
index eef93467..e9b499ad 100644
--- a/test/InOrderURISelectorTest.cc
+++ b/test/InOrderURISelectorTest.cc
@@ -27,7 +27,7 @@ public:
"ftp://alpha/file",
"http://bravo/file"
};
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
uris.assign(&urisSrc[0], &urisSrc[arrayLength(urisSrc)]);
_fileEntry.setUris(uris);
diff --git a/test/MSEHandshakeTest.cc b/test/MSEHandshakeTest.cc
index 717aa4d0..4304006f 100644
--- a/test/MSEHandshakeTest.cc
+++ b/test/MSEHandshakeTest.cc
@@ -78,7 +78,7 @@ void MSEHandshakeTest::doHandshake(const SharedHandle<MSEHandshake>& initiator,
initiator->sendInitiatorStep2();
while(!receiver->findReceiverHashMarker());
- std::deque<SharedHandle<DownloadContext> > contexts;
+ std::vector<SharedHandle<DownloadContext> > contexts;
contexts.push_back(_dctx);
while(!receiver->receiveReceiverHashAndPadCLength(contexts));
while(!receiver->receivePad());
diff --git a/test/Metalink2RequestGroupTest.cc b/test/Metalink2RequestGroupTest.cc
index 24e317e2..8b0b9363 100644
--- a/test/Metalink2RequestGroupTest.cc
+++ b/test/Metalink2RequestGroupTest.cc
@@ -37,13 +37,13 @@ CPPUNIT_TEST_SUITE_REGISTRATION( Metalink2RequestGroupTest );
void Metalink2RequestGroupTest::testGenerate()
{
- std::deque<SharedHandle<RequestGroup> > groups;
+ std::vector<SharedHandle<RequestGroup> > groups;
_option->put(PREF_DIR, "/tmp");
Metalink2RequestGroup().generate(groups, "test.xml", _option);
// first file
{
SharedHandle<RequestGroup> rg = groups[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
std::sort(uris.begin(), uris.end());
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
@@ -69,7 +69,7 @@ void Metalink2RequestGroupTest::testGenerate()
// second file
{
SharedHandle<RequestGroup> rg = groups[1];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
@@ -91,7 +91,7 @@ void Metalink2RequestGroupTest::testGenerate()
// fifth file <- downloading .torrent file
{
SharedHandle<RequestGroup> rg = groups[4];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL
@@ -110,7 +110,7 @@ void Metalink2RequestGroupTest::testGenerate()
#else
SharedHandle<RequestGroup> rg = groups[4];
#endif // ENABLE_BITTORRENT
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL
@@ -125,14 +125,14 @@ void Metalink2RequestGroupTest::testGenerate()
void Metalink2RequestGroupTest::testGenerate_groupByMetaurl()
{
- std::deque<SharedHandle<RequestGroup> > groups;
+ std::vector<SharedHandle<RequestGroup> > groups;
Metalink2RequestGroup().generate(groups, "metalink4-groupbymetaurl.xml",
_option);
CPPUNIT_ASSERT_EQUAL((size_t)3, groups.size());
// first RequestGroup is torrent for second RequestGroup
{
SharedHandle<RequestGroup> rg = groups[0];
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://torrent"), uris[0]);
diff --git a/test/MetalinkPostDownloadHandlerTest.cc b/test/MetalinkPostDownloadHandlerTest.cc
index 4f8dbe0f..e4844f15 100644
--- a/test/MetalinkPostDownloadHandlerTest.cc
+++ b/test/MetalinkPostDownloadHandlerTest.cc
@@ -71,7 +71,7 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
rg.initPieceStorage();
MetalinkPostDownloadHandler handler;
- RequestGroups groups;
+ std::vector<SharedHandle<RequestGroup> > groups;
handler.getNextRequestGroups(groups, &rg);
#ifdef ENABLE_BITTORRENT
CPPUNIT_ASSERT_EQUAL((size_t)6/* 5 + 1 torrent file download */, groups.size());
diff --git a/test/MockBtMessage.h b/test/MockBtMessage.h
index b07e6d56..13324a24 100644
--- a/test/MockBtMessage.h
+++ b/test/MockBtMessage.h
@@ -80,9 +80,7 @@ public:
virtual void send() {}
- virtual bool validate(std::deque<std::string>& errors) {
- return false;
- }
+ virtual void validate() {}
virtual void onAbortOutstandingRequestEvent
(const BtAbortOutstandingRequestEvent& event) {}
diff --git a/test/MockBtMessageDispatcher.h b/test/MockBtMessageDispatcher.h
index 5ab3f916..6b18f883 100644
--- a/test/MockBtMessageDispatcher.h
+++ b/test/MockBtMessageDispatcher.h
@@ -12,7 +12,7 @@ namespace aria2 {
class MockBtMessageDispatcher : public BtMessageDispatcher {
public:
- BtMessages messageQueue;
+ std::deque<SharedHandle<BtMessage> > messageQueue;
virtual ~MockBtMessageDispatcher() {}
@@ -20,7 +20,9 @@ public:
messageQueue.push_back(btMessage);
}
- virtual void addMessageToQueue(const std::deque<SharedHandle<BtMessage> >& btMessages) {
+ virtual void addMessageToQueue
+ (const std::vector<SharedHandle<BtMessage> >& btMessages)
+ {
std::copy(btMessages.begin(), btMessages.end(), back_inserter(messageQueue));
}
diff --git a/test/MockBtRequestFactory.h b/test/MockBtRequestFactory.h
index 6942ffb2..77e97158 100644
--- a/test/MockBtRequestFactory.h
+++ b/test/MockBtRequestFactory.h
@@ -24,12 +24,12 @@ public:
virtual void doChokedAction() {}
virtual void createRequestMessages
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max) {}
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max) {}
virtual void createRequestMessagesOnEndGame
- (std::deque<SharedHandle<BtMessage> >& requests, size_t max) {}
+ (std::vector<SharedHandle<BtMessage> >& requests, size_t max) {}
- virtual void getTargetPieceIndexes(std::deque<size_t>& indexes) const {}
+ virtual void getTargetPieceIndexes(std::vector<size_t>& indexes) const {}
};
} // namespace aria2
diff --git a/test/MockDHTMessage.h b/test/MockDHTMessage.h
index 4cac30e4..d30523c7 100644
--- a/test/MockDHTMessage.h
+++ b/test/MockDHTMessage.h
@@ -16,9 +16,9 @@ public:
std::string _messageType;
- std::deque<SharedHandle<DHTNode> > _nodes;
+ std::vector<SharedHandle<DHTNode> > _nodes;
- std::deque<SharedHandle<Peer> > _peers;
+ std::vector<SharedHandle<Peer> > _peers;
std::string _token;
public:
diff --git a/test/MockDHTMessageFactory.h b/test/MockDHTMessageFactory.h
index 07bd5cdd..0ae5ccd1 100644
--- a/test/MockDHTMessageFactory.h
+++ b/test/MockDHTMessageFactory.h
@@ -62,9 +62,10 @@ public:
}
virtual SharedHandle<DHTMessage>
- createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
- const std::string& transactionID)
+ createFindNodeReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
+ const std::string& transactionID)
{
return SharedHandle<DHTMessage>();
}
@@ -78,8 +79,9 @@ public:
}
virtual SharedHandle<DHTMessage>
- createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<DHTNode> >& closestKNodes,
+ createGetPeersReplyMessage
+ (const SharedHandle<DHTNode>& remoteNode,
+ const std::vector<SharedHandle<DHTNode> >& closestKNodes,
const std::string& token,
const std::string& transactionID)
{
@@ -89,7 +91,7 @@ public:
virtual SharedHandle<DHTMessage>
createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
- const std::deque<SharedHandle<Peer> >& peers,
+ const std::vector<SharedHandle<Peer> >& peers,
const std::string& token,
const std::string& transactionID)
{
diff --git a/test/MockPeerStorage.h b/test/MockPeerStorage.h
index 42a4c2af..6544e495 100644
--- a/test/MockPeerStorage.h
+++ b/test/MockPeerStorage.h
@@ -13,7 +13,7 @@ class MockPeerStorage : public PeerStorage {
private:
TransferStat stat;
std::deque<SharedHandle<Peer> > peers;
- std::deque<SharedHandle<Peer> > activePeers;
+ std::vector<SharedHandle<Peer> > activePeers;
int _numChokeExecuted;
public:
MockPeerStorage():_numChokeExecuted(0) {}
@@ -24,7 +24,7 @@ public:
return true;
}
- virtual void addPeer(const std::deque<SharedHandle<Peer> >& peers) {
+ virtual void addPeer(const std::vector<SharedHandle<Peer> >& peers) {
std::copy(peers.begin(), peers.end(), back_inserter(this->peers));
}
@@ -40,12 +40,12 @@ public:
return false;
}
- void setActivePeers(const std::deque<SharedHandle<Peer> >& activePeers)
+ void setActivePeers(const std::vector<SharedHandle<Peer> >& activePeers)
{
this->activePeers = activePeers;
}
- virtual void getActivePeers(std::deque<SharedHandle<Peer> >& peers) {
+ virtual void getActivePeers(std::vector<SharedHandle<Peer> >& peers) {
peers.insert(peers.end(), activePeers.begin(), activePeers.end());
}
diff --git a/test/MockPieceStorage.h b/test/MockPieceStorage.h
index baa022e1..e72731fd 100644
--- a/test/MockPieceStorage.h
+++ b/test/MockPieceStorage.h
@@ -49,7 +49,7 @@ public:
}
virtual SharedHandle<Piece> getMissingPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
return SharedHandle<Piece>(new Piece());
}
@@ -59,7 +59,7 @@ public:
}
virtual SharedHandle<Piece> getMissingFastPiece
- (const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes)
+ (const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes)
{
return SharedHandle<Piece>(new Piece());
}
@@ -212,7 +212,7 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index) {}
- virtual void getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ virtual void getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
int32_t myCuid,
const Time& lastCheckTime)
{}
@@ -221,7 +221,7 @@ public:
virtual void markAllPiecesDone() {}
- virtual void addInFlightPiece(const std::deque<SharedHandle<Piece> >& pieces)
+ virtual void addInFlightPiece(const std::vector<SharedHandle<Piece> >& pieces)
{
std::copy(pieces.begin(), pieces.end(), back_inserter(inFlightPieces));
}
@@ -231,7 +231,7 @@ public:
return inFlightPieces.size();
}
- virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
+ virtual void getInFlightPieces(std::vector<SharedHandle<Piece> >& pieces)
{
pieces.insert(pieces.end(), inFlightPieces.begin(), inFlightPieces.end());
}
diff --git a/test/NetrcTest.cc b/test/NetrcTest.cc
index 5c2d267c..17809564 100644
--- a/test/NetrcTest.cc
+++ b/test/NetrcTest.cc
@@ -59,7 +59,8 @@ void NetrcTest::testParse()
{
Netrc netrc;
netrc.parse("sample.netrc");
- std::deque<SharedHandle<Authenticator> >::const_iterator itr = netrc.getAuthenticators().begin();
+ std::vector<SharedHandle<Authenticator> >::const_iterator itr =
+ netrc.getAuthenticators().begin();
SharedHandle<Authenticator> tujikawaauth = *itr;
CPPUNIT_ASSERT(!tujikawaauth.isNull());
diff --git a/test/NsCookieParserTest.cc b/test/NsCookieParserTest.cc
index 2c51f9e0..496d8130 100644
--- a/test/NsCookieParserTest.cc
+++ b/test/NsCookieParserTest.cc
@@ -30,7 +30,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(NsCookieParserTest);
void NsCookieParserTest::testParse()
{
NsCookieParser parser;
- std::deque<Cookie> cookies = parser.parse("nscookietest.txt");
+ std::vector<Cookie> cookies = parser.parse("nscookietest.txt");
CPPUNIT_ASSERT_EQUAL((size_t)5, cookies.size());
Cookie c = cookies[0];
diff --git a/test/OptionHandlerTest.cc b/test/OptionHandlerTest.cc
index 6cadd302..8ff088d3 100644
--- a/test/OptionHandlerTest.cc
+++ b/test/OptionHandlerTest.cc
@@ -198,7 +198,7 @@ void OptionHandlerTest::testParameterOptionHandler_2argsInit()
void OptionHandlerTest::testParameterOptionHandler_listInit()
{
- std::deque<std::string> validValues;
+ std::vector<std::string> validValues;
validValues.push_back("value1");
validValues.push_back("value2");
diff --git a/test/OptionParserTest.cc b/test/OptionParserTest.cc
index 9ee50981..d282980e 100644
--- a/test/OptionParserTest.cc
+++ b/test/OptionParserTest.cc
@@ -167,7 +167,7 @@ void OptionParserTest::testParseArg()
int argc = arrayLength(argv);
std::stringstream s;
- std::deque<std::string> nonopts;
+ std::vector<std::string> nonopts;
_oparser->parseArg(s, nonopts, argc, argv);
diff --git a/test/PStringBuildVisitorTest.cc b/test/PStringBuildVisitorTest.cc
index 7aab8b94..a307c8ca 100644
--- a/test/PStringBuildVisitorTest.cc
+++ b/test/PStringBuildVisitorTest.cc
@@ -37,7 +37,8 @@ void PStringBuildVisitorTest::testVisit_select()
const char* select1data[] = { "alpha", "bravo", "charlie" };
SharedHandle<PStringSelect> select1
- (new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1));
+ (new PStringSelect
+ (std::vector<std::string>(&select1data[0], &select1data[3]), segment1));
PStringBuildVisitor v;
@@ -74,7 +75,8 @@ void PStringBuildVisitorTest::testVisit_select_numLoop()
const char* select1data[] = { "alpha", "bravo", "charlie" };
SharedHandle<PStringSelect> select1
- (new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1));
+ (new PStringSelect
+ (std::vector<std::string>(&select1data[0], &select1data[3]), segment1));
SharedHandle<NumberDecorator> decorator(new FixedWidthNumberDecorator(2));
SharedHandle<PStringNumLoop> loop1
diff --git a/test/ParameterizedStringParserTest.cc b/test/ParameterizedStringParserTest.cc
index fd5104d0..38df6917 100644
--- a/test/ParameterizedStringParserTest.cc
+++ b/test/ParameterizedStringParserTest.cc
@@ -1,7 +1,6 @@
#include "ParameterizedStringParser.h"
#include <iostream>
-#include <deque>
#include <cppunit/extensions/HelperMacros.h>
@@ -61,7 +60,7 @@ void ParameterizedStringParserTest::testParse_select()
SharedHandle<PStringSelect> select(dynamic_pointer_cast<PStringSelect>(ls));
CPPUNIT_ASSERT(!select.isNull());
- std::deque<std::string> values = select->getValues();
+ std::vector<std::string> values = select->getValues();
CPPUNIT_ASSERT_EQUAL((size_t)3, values.size());
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), values[0]);
@@ -113,7 +112,7 @@ void ParameterizedStringParserTest::testParse_segment_select()
SharedHandle<PStringSelect> select1
(dynamic_pointer_cast<PStringSelect>(segment1->getNext()));
CPPUNIT_ASSERT(!select1.isNull());
- std::deque<std::string> selectValues = select1->getValues();
+ std::vector<std::string> selectValues = select1->getValues();
CPPUNIT_ASSERT_EQUAL((size_t)3, selectValues.size());
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), selectValues[0]);
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), selectValues[1]);
diff --git a/test/RequestGroupManTest.cc b/test/RequestGroupManTest.cc
index b7ab1e57..12cc3c3f 100644
--- a/test/RequestGroupManTest.cc
+++ b/test/RequestGroupManTest.cc
@@ -58,7 +58,7 @@ void RequestGroupManTest::testIsSameFileBeingDownloaded()
rg1->setDownloadContext(dctx1);
rg2->setDownloadContext(dctx2);
- RequestGroupMan gm(std::deque<SharedHandle<RequestGroup> >(), 1,
+ RequestGroupMan gm(std::vector<SharedHandle<RequestGroup> >(), 1,
_option.get());
gm.addRequestGroup(rg1);
@@ -79,7 +79,8 @@ void RequestGroupManTest::testGetInitialCommands()
void RequestGroupManTest::testSaveServerStat()
{
- RequestGroupMan rm(std::deque<SharedHandle<RequestGroup> >(),0,_option.get());
+ RequestGroupMan rm
+ (std::vector<SharedHandle<RequestGroup> >(),0,_option.get());
SharedHandle<ServerStat> ss_localhost(new ServerStat("localhost", "http"));
rm.addServerStat(ss_localhost);
File f("/tmp/aria2_RequestGroupManTest_testSaveServerStat");
@@ -102,7 +103,8 @@ void RequestGroupManTest::testLoadServerStat()
<< "status=OK";
o.close();
- RequestGroupMan rm(std::deque<SharedHandle<RequestGroup> >(),0,_option.get());
+ RequestGroupMan rm
+ (std::vector<SharedHandle<RequestGroup> >(),0,_option.get());
std::cerr << "testLoadServerStat" << std::endl;
CPPUNIT_ASSERT(rm.loadServerStat(f.getPath()));
SharedHandle<ServerStat> ss_localhost = rm.findServerStat("localhost",
@@ -119,7 +121,7 @@ void RequestGroupManTest::testChangeReservedGroupPosition()
SharedHandle<RequestGroup>(new RequestGroup(_option)),
SharedHandle<RequestGroup>(new RequestGroup(_option))
};
- std::deque<SharedHandle<RequestGroup> > groups(&gs[0], &gs[arrayLength(gs)]);
+ std::vector<SharedHandle<RequestGroup> > groups(&gs[0], &gs[arrayLength(gs)]);
RequestGroupMan rm(groups, 0, _option.get());
CPPUNIT_ASSERT_EQUAL
diff --git a/test/SegmentManTest.cc b/test/SegmentManTest.cc
index 90c562b2..2875f1d0 100644
--- a/test/SegmentManTest.cc
+++ b/test/SegmentManTest.cc
@@ -77,7 +77,7 @@ void SegmentManTest::testCompleteSegment()
seg->updateWrittenLength(pieceLength);
segmentMan.completeSegment(1, seg);
- std::deque<SharedHandle<Segment> > segments;
+ std::vector<SharedHandle<Segment> > segments;
segmentMan.getInFlightSegment(segments, 1);
CPPUNIT_ASSERT_EQUAL((size_t)2, segments.size());
CPPUNIT_ASSERT_EQUAL((size_t)0, segments[0]->getIndex());
@@ -98,7 +98,7 @@ void SegmentManTest::testGetSegment_sameFileEntry()
SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &op));
SegmentMan segman(&op, dctx, ps);
- std::deque<SharedHandle<Segment> > segments;
+ std::vector<SharedHandle<Segment> > segments;
segman.getSegment(segments, 1, fileEntries[1], 4);
// See 3 segments are returned, not 4 because the part of file1 is
// not filled in segment#1
diff --git a/test/SequenceTest.cc b/test/SequenceTest.cc
index 230ed027..8e96a16b 100644
--- a/test/SequenceTest.cc
+++ b/test/SequenceTest.cc
@@ -1,5 +1,4 @@
#include "Sequence.h"
-#include <deque>
#include <cppunit/extensions/HelperMacros.h>
namespace aria2 {
@@ -72,7 +71,7 @@ void SequenceTest::testFlush()
IntSequence::Value(10, 11),
};
IntSequence seq = IntSequence(IntSequence::Values(&params[0], &params[3]));
- std::deque<int> r = seq.flush();
+ std::vector<int> r = seq.flush();
int answers[] = { 1, 3, 4, 5, 6, 7, 8, 10 };
diff --git a/test/Sqlite3MozCookieParserTest.cc b/test/Sqlite3MozCookieParserTest.cc
index 6feb819d..637463b0 100644
--- a/test/Sqlite3MozCookieParserTest.cc
+++ b/test/Sqlite3MozCookieParserTest.cc
@@ -32,7 +32,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(Sqlite3MozCookieParserTest);
void Sqlite3MozCookieParserTest::testParse()
{
Sqlite3MozCookieParser parser;
- std::deque<Cookie> cookies = parser.parse("cookies.sqlite");
+ std::vector<Cookie> cookies = parser.parse("cookies.sqlite");
CPPUNIT_ASSERT_EQUAL((size_t)3, cookies.size());
const Cookie& localhost = cookies[0];
diff --git a/test/UTMetadataPostDownloadHandlerTest.cc b/test/UTMetadataPostDownloadHandlerTest.cc
index 9c6974d8..f5148efe 100644
--- a/test/UTMetadataPostDownloadHandlerTest.cc
+++ b/test/UTMetadataPostDownloadHandlerTest.cc
@@ -91,7 +91,7 @@ void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
0);
UTMetadataPostDownloadHandler handler;
- std::deque<SharedHandle<RequestGroup> > results;
+ std::vector<SharedHandle<RequestGroup> > results;
handler.getNextRequestGroups(results, _requestGroup.get());
CPPUNIT_ASSERT_EQUAL((size_t)1, results.size());
diff --git a/test/UTMetadataRequestFactoryTest.cc b/test/UTMetadataRequestFactoryTest.cc
index 561db2a1..1958a7af 100644
--- a/test/UTMetadataRequestFactoryTest.cc
+++ b/test/UTMetadataRequestFactoryTest.cc
@@ -1,7 +1,6 @@
#include "UTMetadataRequestFactory.h"
#include <vector>
-#include <deque>
#include <cppunit/extensions/HelperMacros.h>
@@ -61,7 +60,7 @@ void UTMetadataRequestFactoryTest::testCreate()
(new UTMetadataRequestTracker());
factory.setUTMetadataRequestTracker(tracker);
- std::deque<SharedHandle<BtMessage> > msgs;
+ std::vector<SharedHandle<BtMessage> > msgs;
factory.create(msgs, 1, ps);
CPPUNIT_ASSERT_EQUAL((size_t)1, msgs.size());
diff --git a/test/UriListParserTest.cc b/test/UriListParserTest.cc
index 643ce749..ebfeb18f 100644
--- a/test/UriListParserTest.cc
+++ b/test/UriListParserTest.cc
@@ -21,7 +21,7 @@ class UriListParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testHasNext);
CPPUNIT_TEST_SUITE_END();
private:
- std::string list2String(const std::deque<std::string>& src);
+ std::string list2String(const std::vector<std::string>& src);
public:
void setUp() {
}
@@ -32,7 +32,7 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION( UriListParserTest );
-std::string UriListParserTest::list2String(const std::deque<std::string>& src)
+std::string UriListParserTest::list2String(const std::vector<std::string>& src)
{
std::ostringstream strm;
std::copy(src.begin(), src.end(), std::ostream_iterator<std::string>(strm, " "));
@@ -45,7 +45,7 @@ void UriListParserTest::testHasNext()
UriListParser flp(in);
- std::deque<std::string> uris;
+ std::vector<std::string> uris;
Option reqOp;
CPPUNIT_ASSERT(flp.hasNext());
diff --git a/test/XmlRpcMethodTest.cc b/test/XmlRpcMethodTest.cc
index eba06544..0c54e119 100644
--- a/test/XmlRpcMethodTest.cc
+++ b/test/XmlRpcMethodTest.cc
@@ -91,7 +91,7 @@ public:
_e.reset(new DownloadEngine(SharedHandle<EventPoll>(new SelectEventPoll())));
_e->option = _option.get();
_e->_requestGroupMan.reset
- (new RequestGroupMan(std::deque<SharedHandle<RequestGroup> >(),
+ (new RequestGroupMan(std::vector<SharedHandle<RequestGroup> >(),
1, _option.get()));
}