summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-25 13:52:37 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-25 13:52:37 +0000
commit7633410ebffa61f36874c50faffd95f1dfdd1ed2 (patch)
tree5526d82da5535774aa7508a87e8a178d5c852dba /src
parenta478cfecc4f58eb4a70a9f4000dfdf0ebcda0857 (diff)
2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set max outstanding request size to 100. Set stepping to 6. * src/BtConstants.h * src/DefaultBtInteractive.cc
Diffstat (limited to 'src')
-rw-r--r--src/BtConstants.h4
-rw-r--r--src/DefaultBtInteractive.cc9
2 files changed, 8 insertions, 5 deletions
diff --git a/src/BtConstants.h b/src/BtConstants.h
index 71020832..c9cea675 100644
--- a/src/BtConstants.h
+++ b/src/BtConstants.h
@@ -53,8 +53,10 @@ typedef std::map<std::string, uint8_t> Extensions;
#define DEFAULT_MAX_OUTSTANDING_REQUEST 6
+#define OUTSTANDING_REQUEST_STEP 6
+
// Upper Bound of the number of outstanding request
-#define UB_MAX_OUTSTANDING_REQUEST 24
+#define UB_MAX_OUTSTANDING_REQUEST 100
#define METADATA_PIECE_SIZE (16*1024)
diff --git a/src/DefaultBtInteractive.cc b/src/DefaultBtInteractive.cc
index c1b25eb4..783072c5 100644
--- a/src/DefaultBtInteractive.cc
+++ b/src/DefaultBtInteractive.cc
@@ -284,7 +284,7 @@ void DefaultBtInteractive::sendKeepAlive() {
size_t DefaultBtInteractive::receiveMessages() {
size_t countOldOutstandingRequest = dispatcher_->countOutstandingRequest();
size_t msgcount = 0;
- for(int i = 0; i < 50; ++i) {
+ for(int i = 0; i < UB_MAX_OUTSTANDING_REQUEST+50; ++i) {
if(requestGroupMan_->doesOverallDownloadSpeedExceed() ||
downloadContext_->getOwnerRequestGroup()->doesDownloadSpeedExceed()) {
break;
@@ -323,10 +323,11 @@ size_t DefaultBtInteractive::receiveMessages() {
break;
}
}
- if(countOldOutstandingRequest > 0 &&
+ if(countOldOutstandingRequest >= maxOutstandingRequest_ &&
dispatcher_->countOutstandingRequest() == 0){
- maxOutstandingRequest_ = std::min((size_t)UB_MAX_OUTSTANDING_REQUEST,
- maxOutstandingRequest_*2);
+ maxOutstandingRequest_ =
+ std::min((size_t)UB_MAX_OUTSTANDING_REQUEST,
+ maxOutstandingRequest_+OUTSTANDING_REQUEST_STEP);
}
return msgcount;
}