summaryrefslogtreecommitdiff
path: root/src/InitiatorMSEHandshakeCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-05-08 16:41:21 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-05-08 16:41:21 +0000
commit4cb5468662394ddf588d2c5c5787d24c799524ab (patch)
tree49f7c078aacfc44e3eb65f333fb4f5d7c932b27d /src/InitiatorMSEHandshakeCommand.cc
parent08856691b3fa306483c199a1e88ab15bcf0eea85 (diff)
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Now RequestGroup has its own copy of Option object. This will help to give custom option for each RequestGroup. addTorrentFile command now takes options. * src/AbstractCommand.cc * src/AbstractCommand.h * src/AbstractProxyRequestCommand.cc * src/ActivePeerConnectionCommand.cc * src/ActivePeerConnectionCommand.h * src/AdaptiveURISelector.cc * src/BtCheckIntegrityEntry.cc * src/BtDependency.cc * src/BtDependency.h * src/BtFileAllocationEntry.cc * src/BtPostDownloadHandler.cc * src/CheckIntegrityEntry.cc * src/DownloadCommand.cc * src/FtpDownloadCommand.cc * src/FtpFinishDownloadCommand.cc * src/FtpInitiateConnectionCommand.cc * src/FtpNegotiationCommand.cc * src/HttpInitiateConnectionCommand.cc * src/HttpRequestCommand.cc * src/HttpResponseCommand.cc * src/HttpSkipResponseCommand.cc * src/InitiateConnectionCommand.cc * src/InitiateConnectionCommandFactory.cc * src/InitiatorMSEHandshakeCommand.cc * src/InitiatorMSEHandshakeCommand.h * src/Metalink2RequestGroup.cc * src/Metalink2RequestGroup.h * src/MetalinkPostDownloadHandler.cc * src/MultiUrlRequestInfo.cc * src/MultiUrlRequestInfo.h * src/PeerAbstractCommand.cc * src/PeerInteractionCommand.cc * src/PeerInteractionCommand.h * src/PeerReceiveHandshakeCommand.cc * src/PeerReceiveHandshakeCommand.h * src/RequestGroup.cc * src/RequestGroup.h * src/TrackerWatcherCommand.cc * src/TrackerWatcherCommand.h * src/XmlRpcMethod.cc * src/XmlRpcMethod.h * src/XmlRpcMethodImpl.cc * src/download_helper.cc * src/download_helper.h * src/main.cc * test/BtDependencyTest.cc * test/BtPostDownloadHandlerTest.cc * test/DefaultBtMessageDispatcherTest.cc * test/DownloadHandlerFactoryTest.cc * test/DownloadHelperTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkPostDownloadHandlerTest.cc * test/RequestGroupManTest.cc * test/RequestGroupTest.cc
Diffstat (limited to 'src/InitiatorMSEHandshakeCommand.cc')
-rw-r--r--src/InitiatorMSEHandshakeCommand.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/InitiatorMSEHandshakeCommand.cc b/src/InitiatorMSEHandshakeCommand.cc
index e669b918..8fbd1bd2 100644
--- a/src/InitiatorMSEHandshakeCommand.cc
+++ b/src/InitiatorMSEHandshakeCommand.cc
@@ -69,11 +69,11 @@ InitiatorMSEHandshakeCommand::InitiatorMSEHandshakeCommand
_btContext(btContext),
_btRuntime(btRuntime),
_sequence(INITIATOR_SEND_KEY),
- _mseHandshake(new MSEHandshake(cuid, socket, e->option))
+ _mseHandshake(new MSEHandshake(cuid, socket, getOption().get()))
{
disableReadCheckSocket();
setWriteCheckSocket(socket);
- setTimeout(e->option->getAsInt(PREF_PEER_CONNECTION_TIMEOUT));
+ setTimeout(getOption()->getAsInt(PREF_PEER_CONNECTION_TIMEOUT));
_btRuntime->increaseConnections();
_requestGroup->increaseNumCommand();
@@ -96,7 +96,7 @@ bool InitiatorMSEHandshakeCommand::executeInternal() {
disableWriteCheckSocket();
setReadCheckSocket(socket);
//socket->setBlockingMode();
- setTimeout(e->option->getAsInt(PREF_BT_TIMEOUT));
+ setTimeout(getOption()->getAsInt(PREF_BT_TIMEOUT));
_mseHandshake->initEncryptionFacility(true);
if(_mseHandshake->sendPublicKey()) {
_sequence = INITIATOR_WAIT_KEY;
@@ -145,7 +145,7 @@ bool InitiatorMSEHandshakeCommand::executeInternal() {
case INITIATOR_RECEIVE_PAD_D: {
if(_mseHandshake->receivePad()) {
SharedHandle<PeerConnection> peerConnection
- (new PeerConnection(cuid, socket, e->option));
+ (new PeerConnection(cuid, socket, getOption().get()));
if(_mseHandshake->getNegotiatedCryptoType() == MSEHandshake::CRYPTO_ARC4) {
peerConnection->enableEncryption(_mseHandshake->getEncryptor(),
_mseHandshake->getDecryptor());
@@ -169,7 +169,7 @@ bool InitiatorMSEHandshakeCommand::executeInternal() {
bool InitiatorMSEHandshakeCommand::prepareForNextPeer(time_t wait)
{
- if(e->option->getAsBool(PREF_BT_REQUIRE_CRYPTO)) {
+ if(getOption()->getAsBool(PREF_BT_REQUIRE_CRYPTO)) {
logger->info("CUID#%d - Establishing connection using legacy BitTorrent handshake is disabled by preference.", cuid);
if(_peerStorage->isPeerAvailable() && _btRuntime->lessThanEqMinPeers()) {
SharedHandle<Peer> peer = _peerStorage->getUnusedPeer();
@@ -197,7 +197,7 @@ bool InitiatorMSEHandshakeCommand::prepareForNextPeer(time_t wait)
void InitiatorMSEHandshakeCommand::onAbort()
{
- if(e->option->getAsBool(PREF_BT_REQUIRE_CRYPTO)) {
+ if(getOption()->getAsBool(PREF_BT_REQUIRE_CRYPTO)) {
_peerStorage->returnPeer(peer);
}
}
@@ -219,4 +219,9 @@ void InitiatorMSEHandshakeCommand::setPieceStorage
_pieceStorage = pieceStorage;
}
+const SharedHandle<Option>& InitiatorMSEHandshakeCommand::getOption() const
+{
+ return _requestGroup->getOption();
+}
+
} // namespace aria2