diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-28 10:37:15 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-28 10:37:15 +0000 |
| commit | 5699b675268658ea958f7c2306e19849dff9bc41 (patch) | |
| tree | c654c18eef6f4361cccf13854895b88967aa33ea /src/DefaultBtMessageFactory.cc | |
| parent | 90471d68050ebd05439435330e4d0dbb19c6fd1e (diff) | |
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten DownloadContext and removed SingleFileDownloadContext
and BtContext and its derived classes. BitTorrent specific
attributes are now set by DownloadContext::setAttribute() with key
bittorrent::BITTORRENT.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/AbstractProxyRequestCommand.cc
* src/AbstractProxyResponseCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/ActivePeerConnectionCommand.h
* src/AnnounceList.cc
* src/BtCheckIntegrityEntry.cc
* src/BtConstants.h
* src/BtContext.h: Removed
* src/BtDependency.cc
* src/BtExtendedMessage.cc
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPostDownloadHandler.cc
* src/BtRegistry.cc
* src/BtRegistry.h
* src/BtSetup.cc
* src/CheckIntegrityCommand.cc
* src/CheckIntegrityEntry.cc
* src/ChecksumCheckIntegrityEntry.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/DHTGetPeersCommand.cc
* src/DHTGetPeersCommand.h
* src/DHTPeerLookupTask.cc
* src/DHTPeerLookupTask.h
* src/DHTTaskFactory.h
* src/DHTTaskFactoryImpl.cc
* src/DHTTaskFactoryImpl.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtAnnounce.h
* src/DefaultBtContext.cc: Removed
* src/DefaultBtContext.h: Removed
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageDispatcher.h
* src/DefaultBtMessageFactory.cc
* src/DefaultBtMessageFactory.h
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtMessageReceiver.h
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/DefaultPeerStorage.cc
* src/DefaultPeerStorage.h
* src/DefaultPieceStorage.cc
* src/DefaultSegmentManFactory.cc
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/DownloadHandler.cc
* src/DownloadResult.h
* src/FileAllocationCommand.cc
* src/FileAllocationDispatcherCommand.cc
* src/FileAllocationEntry.cc
* src/FileEntry.h
* src/FillRequestGroupCommand.cc
* src/FtpDownloadCommand.cc
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/FtpTunnelRequestCommand.cc
* src/FtpTunnelResponseCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HandshakeExtensionMessage.h
* src/HaveEraseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpProxyRequestCommand.cc
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommandFactory.cc
* src/InitiatorMSEHandshakeCommand.cc
* src/InitiatorMSEHandshakeCommand.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
* src/MultiFileAllocationIterator.cc
* src/MultiUrlRequestInfo.cc
* src/PeerChokeCommand.cc
* src/PeerChokeCommand.h
* src/PeerInitiateConnectionCommand.cc
* src/PeerInitiateConnectionCommand.h
* src/PeerInteractionCommand.cc
* src/PeerInteractionCommand.h
* src/PeerReceiveHandshakeCommand.cc
* src/PieceHashCheckIntegrityEntry.cc
* src/RealtimeCommand.cc
* src/ReceiverMSEHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupEntry.cc
* src/RequestGroupMan.cc
* src/SeedCheckCommand.cc
* src/SeedCheckCommand.h
* src/SegmentMan.cc
* src/ShareRatioSeedCriteria.h
* src/SingleFileDownloadContext.cc: Removed
* src/SingleFileDownloadContext.h: Removed
* src/SleepCommand.cc
* src/StreamCheckIntegrityEntry.cc
* src/TrackerWatcherCommand.cc
* src/TrackerWatcherCommand.h
* src/UnknownLengthPieceStorage.cc
* src/Util.cc
* src/Util.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BitfieldManTest.cc
* test/BittorrentHelperTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtDependencyTest.cc
* test/BtPieceMessageTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/BtRegistryTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/DHTPeerAnnounceStorageTest.cc
* test/DefaultBtAnnounceTest.cc
* test/DefaultBtContextTest.cc: Removed
* test/DefaultBtMessageDispatcherTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/DefaultPeerStorageTest.cc
* test/DefaultPieceStorageTest.cc
* test/DirectDiskAdaptorTest.cc
* test/DownloadContextTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/MSEHandshakeTest.cc
* test/Makefile.am
* test/Makefile.in
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/MockBtContext.h: Removed
* test/MockDHTTaskFactory.h
* test/MockDownloadContext.h: Removed
* test/MockPieceStorage.h
* test/MultiDiskAdaptorTest.cc
* test/MultiFileAllocationIteratorTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/SegmentManTest.cc
* test/ShareRatioSeedCriteriaTest.cc
* test/SingleFileDownloadContextTest.cc: Removed
* test/UtilTest.cc
* test/XmlRpcMethodTest.cc
Diffstat (limited to 'src/DefaultBtMessageFactory.cc')
| -rw-r--r-- | src/DefaultBtMessageFactory.cc | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/src/DefaultBtMessageFactory.cc b/src/DefaultBtMessageFactory.cc index 0c6306a7..17bc280c 100644 --- a/src/DefaultBtMessageFactory.cc +++ b/src/DefaultBtMessageFactory.cc @@ -61,11 +61,12 @@ #include "ExtensionMessage.h" #include "Peer.h" #include "Piece.h" -#include "BtContext.h" +#include "DownloadContext.h" #include "PieceStorage.h" #include "PeerStorage.h" #include "StringFormat.h" #include "ExtensionMessageFactory.h" +#include "bittorrent_helper.h" namespace aria2 { @@ -112,7 +113,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL { SharedHandle<BtMessageValidator> v (new IndexBtMessageValidator((BtHaveMessage*)msg.get(), - btContext->getNumPieces())); + _downloadContext->getNumPieces())); msg->setBtMessageValidator(v); } break; @@ -121,7 +122,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL { SharedHandle<BtMessageValidator> v (new BtBitfieldMessageValidator((BtBitfieldMessage*)msg.get(), - btContext->getNumPieces())); + _downloadContext->getNumPieces())); msg->setBtMessageValidator(v); } break; @@ -130,7 +131,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (temp.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(temp->getIndex()))); temp->setBtMessageValidator(validator); msg = temp; @@ -141,7 +142,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (temp.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(temp->getIndex()))); temp->setBtMessageValidator(validator); msg = temp; @@ -151,9 +152,10 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL BtPieceMessageHandle temp = BtPieceMessage::create(data, dataLength); BtMessageValidatorHandle validator (new BtPieceMessageValidator(temp.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(temp->getIndex()))); temp->setBtMessageValidator(validator); + temp->setDownloadContext(_downloadContext); msg = temp; break; } @@ -168,7 +170,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (temp.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(temp->getIndex()))); temp->setBtMessageValidator(validator); msg = temp; @@ -177,7 +179,8 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL case BtSuggestPieceMessage::ID: { BtSuggestPieceMessageHandle temp = BtSuggestPieceMessage::create(data, dataLength); SharedHandle<BtMessageValidator> validator - (new IndexBtMessageValidator(temp.get(), btContext->getNumPieces())); + (new IndexBtMessageValidator(temp.get(), + _downloadContext->getNumPieces())); temp->setBtMessageValidator(validator); msg = temp; break; @@ -185,7 +188,8 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL case BtAllowedFastMessage::ID: { BtAllowedFastMessageHandle temp = BtAllowedFastMessage::create(data, dataLength); SharedHandle<BtMessageValidator> validator - (new IndexBtMessageValidator(temp.get(), btContext->getNumPieces())); + (new IndexBtMessageValidator(temp.get(), + _downloadContext->getNumPieces())); temp->setBtMessageValidator(validator); msg = temp; break; @@ -219,7 +223,6 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL void DefaultBtMessageFactory::setCommonProperty(const AbstractBtMessageHandle& msg) { msg->setCuid(cuid); msg->setPeer(peer); - msg->setBtContext(btContext); msg->setPieceStorage(_pieceStorage); msg->setBtMessageDispatcher(dispatcher); msg->setBtRequestFactory(requestFactory); @@ -232,8 +235,8 @@ DefaultBtMessageFactory::createHandshakeMessage(const unsigned char* data, size_ { SharedHandle<BtHandshakeMessage> msg = BtHandshakeMessage::create(data, dataLength); BtMessageValidatorHandle validator - (new BtHandshakeMessageValidator(msg.get(), - btContext->getInfoHash())); + (new BtHandshakeMessageValidator + (msg.get(), bittorrent::getInfoHash(_downloadContext))); msg->setBtMessageValidator(validator); setCommonProperty(msg); return msg; @@ -245,8 +248,8 @@ DefaultBtMessageFactory::createHandshakeMessage(const unsigned char* infoHash, { SharedHandle<BtHandshakeMessage> msg(new BtHandshakeMessage(infoHash, peerId)); BtMessageValidatorHandle validator - (new BtHandshakeMessageValidator(msg.get(), - btContext->getInfoHash())); + (new BtHandshakeMessageValidator + (msg.get(), bittorrent::getInfoHash(_downloadContext))); msg->setBtMessageValidator(validator); msg->setDHTEnabled(_dhtEnabled); setCommonProperty(msg); @@ -264,7 +267,7 @@ DefaultBtMessageFactory::createRequestMessage(const PieceHandle& piece, size_t b SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (msg.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(msg->getIndex()))); msg->setBtMessageValidator(validator); setCommonProperty(msg); @@ -278,7 +281,7 @@ DefaultBtMessageFactory::createCancelMessage(size_t index, uint32_t begin, size_ SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (msg.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(index))); msg->setBtMessageValidator(validator); setCommonProperty(msg); @@ -291,9 +294,10 @@ DefaultBtMessageFactory::createPieceMessage(size_t index, uint32_t begin, size_t BtPieceMessageHandle msg(new BtPieceMessage(index, begin, length)); BtMessageValidatorHandle validator (new BtPieceMessageValidator(msg.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(index))); msg->setBtMessageValidator(validator); + msg->setDownloadContext(_downloadContext); setCommonProperty(msg); return msg; } @@ -303,7 +307,7 @@ DefaultBtMessageFactory::createHaveMessage(size_t index) { BtHaveMessageHandle msg(new BtHaveMessage(index)); SharedHandle<BtMessageValidator> v - (new IndexBtMessageValidator(msg.get(), btContext->getNumPieces())); + (new IndexBtMessageValidator(msg.get(), _downloadContext->getNumPieces())); msg->setBtMessageValidator(v); setCommonProperty(msg); return msg; @@ -349,7 +353,7 @@ DefaultBtMessageFactory::createBitfieldMessage() _pieceStorage->getBitfieldLength())); SharedHandle<BtMessageValidator> v (new BtBitfieldMessageValidator(msg.get(), - btContext->getNumPieces())); + _downloadContext->getNumPieces())); msg->setBtMessageValidator(v); setCommonProperty(msg); return msg; @@ -386,7 +390,7 @@ DefaultBtMessageFactory::createRejectMessage(size_t index, uint32_t begin, size_ SharedHandle<BtMessageValidator> validator (new RangeBtMessageValidator (msg.get(), - btContext->getNumPieces(), + _downloadContext->getNumPieces(), _pieceStorage->getPieceLength(index))); msg->setBtMessageValidator(validator); setCommonProperty(msg); @@ -398,7 +402,7 @@ DefaultBtMessageFactory::createAllowedFastMessage(size_t index) { BtAllowedFastMessageHandle msg(new BtAllowedFastMessage(index)); SharedHandle<BtMessageValidator> validator - (new IndexBtMessageValidator(msg.get(), btContext->getNumPieces())); + (new IndexBtMessageValidator(msg.get(), _downloadContext->getNumPieces())); msg->setBtMessageValidator(validator); setCommonProperty(msg); return msg; @@ -435,9 +439,10 @@ void DefaultBtMessageFactory::setPeer(const SharedHandle<Peer>& peer) this->peer = peer; } -void DefaultBtMessageFactory::setBtContext(const SharedHandle<BtContext>& btContext) +void DefaultBtMessageFactory::setDownloadContext +(const SharedHandle<DownloadContext>& downloadContext) { - this->btContext = btContext; + _downloadContext = downloadContext; } void DefaultBtMessageFactory::setPieceStorage |
