summaryrefslogtreecommitdiff
path: root/src/FtpInitiateConnectionCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-23 15:35:45 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-23 15:35:45 +0000
commit90471d68050ebd05439435330e4d0dbb19c6fd1e (patch)
tree7324c9a0e4d57328c15d32cb1efaa2a91ad774a9 /src/FtpInitiateConnectionCommand.cc
parent6b2ab3ffc0d96d66723fa8b43552fd09d2108781 (diff)
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added experimental support of WEB-Seeding for multi-file torrent. Due to fundamental changes in file handling in HTTP/FTP code, many functions are not working: PeerStat, ServerHost, proxy..etc * src/AbstractCommand.cc * src/AbstractCommand.h * src/BitfieldMan.cc * src/BitfieldMan.h * src/CreateRequestCommand.cc * src/CreateRequestCommand.h * src/DefaultPieceStorage.cc * src/DefaultPieceStorage.h * src/DownloadCommand.cc * src/DownloadCommand.h * src/DownloadContext.cc * src/DownloadContext.h * src/FileEntry.cc * src/FileEntry.h * src/FtpDownloadCommand.cc * src/FtpDownloadCommand.h * src/FtpFinishDownloadCommand.cc * src/FtpFinishDownloadCommand.h * src/FtpInitiateConnectionCommand.cc * src/FtpInitiateConnectionCommand.h * src/FtpNegotiationCommand.cc * src/FtpNegotiationCommand.h * src/FtpTunnelResponseCommand.cc * src/HttpDownloadCommand.cc * src/HttpDownloadCommand.h * src/HttpInitiateConnectionCommand.cc * src/HttpInitiateConnectionCommand.h * src/HttpProxyResponseCommand.cc * src/HttpRequest.cc * src/HttpRequest.h * src/HttpRequestCommand.cc * src/HttpRequestCommand.h * src/HttpResponseCommand.cc * src/HttpResponseCommand.h * src/HttpSkipResponseCommand.cc * src/HttpSkipResponseCommand.h * src/InitiateConnectionCommand.cc * src/InitiateConnectionCommand.h * src/InitiateConnectionCommandFactory.cc * src/InitiateConnectionCommandFactory.h * src/Makefile.am * src/PieceStorage.h * src/RequestGroup.cc * src/RequestGroup.h * src/RequestGroupMan.cc * src/SegmentMan.cc * src/SegmentMan.h * src/SingleFileDownloadContext.h * src/StreamFileAllocationEntry.cc * src/TrackerWatcherCommand.cc * src/UnknownLengthPieceStorage.cc * src/UnknownLengthPieceStorage.h * src/array_fun.h * src/bitfield.h * src/download_helper.cc * test/DownloadContextTest.cc * test/Makefile.am * test/MockDownloadContext.h
Diffstat (limited to 'src/FtpInitiateConnectionCommand.cc')
-rw-r--r--src/FtpInitiateConnectionCommand.cc18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/FtpInitiateConnectionCommand.cc b/src/FtpInitiateConnectionCommand.cc
index b6c15423..7453337a 100644
--- a/src/FtpInitiateConnectionCommand.cc
+++ b/src/FtpInitiateConnectionCommand.cc
@@ -56,9 +56,10 @@ namespace aria2 {
FtpInitiateConnectionCommand::FtpInitiateConnectionCommand
(int cuid,
const RequestHandle& req,
+ const SharedHandle<FileEntry>& fileEntry,
RequestGroup* requestGroup,
DownloadEngine* e)
- :InitiateConnectionCommand(cuid, req, requestGroup, e) {}
+ :InitiateConnectionCommand(cuid, req, fileEntry, requestGroup, e) {}
FtpInitiateConnectionCommand::~FtpInitiateConnectionCommand() {}
@@ -86,7 +87,8 @@ Command* FtpInitiateConnectionCommand::createNextCommand
(new HttpConnection(cuid, socket, getOption().get()));
HttpRequestCommand* c =
- new HttpRequestCommand(cuid, req, _requestGroup, hc, e, socket);
+ new HttpRequestCommand(cuid, req, _fileEntry,
+ _requestGroup, hc, e, socket);
c->setProxyRequest(proxyRequest);
command = c;
} else if(proxyMethod == V_TUNNEL) {
@@ -99,7 +101,8 @@ Command* FtpInitiateConnectionCommand::createNextCommand
} else {
if(proxyMethod == V_TUNNEL) {
command =
- new FtpNegotiationCommand(cuid, req, _requestGroup, e, pooledSocket,
+ new FtpNegotiationCommand(cuid, req, _fileEntry,
+ _requestGroup, e, pooledSocket,
FtpNegotiationCommand::SEQ_SEND_CWD,
options["baseWorkingDir"]);
} else if(proxyMethod == V_GET) {
@@ -109,7 +112,8 @@ Command* FtpInitiateConnectionCommand::createNextCommand
(new HttpConnection(cuid, pooledSocket, getOption().get()));
HttpRequestCommand* c =
- new HttpRequestCommand(cuid, req, _requestGroup, hc, e, pooledSocket);
+ new HttpRequestCommand(cuid, req, _fileEntry,
+ _requestGroup, hc, e, pooledSocket);
c->setProxyRequest(proxyRequest);
command = c;
} else {
@@ -126,10 +130,12 @@ Command* FtpInitiateConnectionCommand::createNextCommand
req->getPort());
socket.reset(new SocketCore());
socket->establishConnection(resolvedAddresses.front(), req->getPort());
- command = new FtpNegotiationCommand(cuid, req, _requestGroup, e, socket);
+ command = new FtpNegotiationCommand(cuid, req, _fileEntry,
+ _requestGroup, e, socket);
} else {
command =
- new FtpNegotiationCommand(cuid, req, _requestGroup, e, pooledSocket,
+ new FtpNegotiationCommand(cuid, req, _fileEntry,
+ _requestGroup, e, pooledSocket,
FtpNegotiationCommand::SEQ_SEND_CWD,
options["baseWorkingDir"]);
}