summaryrefslogtreecommitdiff
path: root/src/HttpResponseCommand.cc
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 /src/HttpResponseCommand.cc
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.
Diffstat (limited to 'src/HttpResponseCommand.cc')
-rw-r--r--src/HttpResponseCommand.cc21
1 files changed, 12 insertions, 9 deletions
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)
{