summaryrefslogtreecommitdiff
path: root/src/UrlRequestInfo.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-01-28 14:18:35 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-01-28 14:18:35 +0000
commitcd91e2ea4ff5def508a425be18fc8e6aa7abec92 (patch)
tree6ade647832c688fe4aa84cce5a9f844bfcefc5c6 /src/UrlRequestInfo.h
parentcd9e35bc632dd4a4bb6a543266803e34376e7964 (diff)
2007-01-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/Xml2MetalinkProcessor.h (xpathExists): New function. * src/Xml2MetalinkProcessor.cc (xpathExists): New function. Not to send HEAD request if filename and size are available in Metalink file: * src/UrlRequestInfo.h (filename): New variable. (totalLength): New variable. (setTotalLength): New function. (setFilename): New function. * src/MetalinkRequestInfo.cc (execute): Set filename and size to UrlRequestInfo. * src/MetalinkEntry.cc (MetalinkEntry): Initialize size with 0. * src/UrlRequestInfo.cc (execute): Set filename and size to SegmentMan. Not to download rest of the files after selected files are downloaded in BitTorrent: * src/PieceStorage.h (allDownloadFinished): New function. * src/DefaultBtAnnounce.cc (isCompleteAnnounceReady): Use allDownloadFinished instead of downloadFinished. (getAnnounceUrl): Use allDownloadFinished instead of downloadFinished. * src/DefaultPieceStorage.cc (completePiece): Use allDownloadFinished instead of downloadFinished. Commented out the call to finishSelectiveDownloadingMode(). (downloadFinished): Call isFilteredAllBitSet() instead of isAllBitSet(). (allDownloadFinished): New function. * src/DefaultBtInteractive.cc (addBitfieldMessageToQueue): Call allDownloadFinished() instead of downloadFinished(). (checkHave): Call allDownloadFinished() instead of downloadFinished(). * src/TorrentDownloadEngine.cc (onEndOfRun): Call allDownloadFinished() instead of downloadFinished(). * src/BitfieldMan.h (isFilteredAllBitSet): New function. * src/ShareRatioSeedCriteria.h (PieceStorage.h): New include. (pieceStorage): New variable. (evaluate): btContext->getTotalLength() -> pieceStorage->getCompletedLength() * src/BitfieldMan.cc (isFilteredAllBitSet): New function. (isAllBitSet): Filter is not took into account. Rename --force-truncate as --allow-overwrite: * src/TorrentRequestInfo.cc (execute): PREF_FORCE_TRUNCATE -> PREF_ALLOW_OVERWRITE * src/main.cc (showUsage): --force-truncate -> --allow-overwrite * src/message.h (EX_FILE_ALREADY_EXISTS): --force-truncate -> --allow-overwrite * src/prefs.h (PREF_FORCE_TRUNCATE): Removed. (PREF_ALLOW_OVERWRITE): New definition. * src/SegmentMan.cc (shouldCancelDownloadForSafety): --force-truncate -> --allow-overwrite * src/MetalinkRequestInfo.cc (execute): Queueing message are now logged in info level. * src/common.h (LONG_LONG_MAX): Removed. (LONG_LONG_MIN): Removed. * src/HttpResponseCommand.cc (handleDefaultEncoding): LONG_LONG_MAX -> INT64_MAX * src/FtpNegotiateCommand.cc (recvSize): LONG_LONG_MAX -> INT64_MAX * src/main.cc (showUsage): Added --check-integiry and --realtime-chunk-checksum command-line option. (main): Added --check-integiry and --realtime-chunk-checksum command-line option. --force-truncate -> --allow-overwrite Set initial value of --check-integrity option to false. Don't show usage when error occurs while persing command-line options. Removed deprecated --upload-limit option.
Diffstat (limited to 'src/UrlRequestInfo.h')
-rw-r--r--src/UrlRequestInfo.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/UrlRequestInfo.h b/src/UrlRequestInfo.h
index dc81065a..bf7f0f26 100644
--- a/src/UrlRequestInfo.h
+++ b/src/UrlRequestInfo.h
@@ -50,9 +50,13 @@ class UrlRequestInfo : public RequestInfo {
private:
Strings urls;
int maxConnections;
+#ifdef ENABLE_MESSAGE_DIGEST
MessageDigestContext::DigestAlgo digestAlgo;
int32_t chunkChecksumLength;
Strings chunkChecksums;
+#endif // ENABLE_MESSAGE_DIGEST
+ string filename;
+ int64_t totalLength;
RequestInfo* createNextRequestInfo() const;
void adjustRequestSize(Requests& requests,
@@ -65,24 +69,41 @@ public:
RequestInfo(op),
urls(urls),
maxConnections(maxConnections),
+#ifdef ENABLE_MESSAGE_DIGEST
digestAlgo(DIGEST_ALGO_SHA1),
- chunkChecksumLength(0) {}
+ chunkChecksumLength(0),
+#endif // ENABLE_MESSAGE_DIGEST
+ totalLength(0) {}
virtual ~UrlRequestInfo() {}
virtual RequestInfos execute();
+#ifdef ENABLE_MESSAGE_DIGEST
void setDigestAlgo(const MessageDigestContext::DigestAlgo& algo) {
this->digestAlgo = algo;
}
+#endif // ENABLE_MESSAGE_DIGEST
+#ifdef ENABLE_MESSAGE_DIGEST
void setChunkChecksumLength(int32_t chunkChecksumLength) {
this->chunkChecksumLength = chunkChecksumLength;
}
+#endif // ENABLE_MESSAGE_DIGEST
+#ifdef ENABLE_MESSAGE_DIGEST
void setChunkChecksums(const Strings& chunkChecksums) {
this->chunkChecksums = chunkChecksums;
}
+#endif // ENABLE_MESSAGE_DIGEST
+
+ void setTotalLength(int64_t totalLength) {
+ this->totalLength = totalLength;
+ }
+
+ void setFilename(const string& filename) {
+ this->filename = filename;
+ }
};
typedef SharedHandle<UrlRequestInfo> UrlRequestInfoHandle;