diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-25 13:52:37 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-25 13:52:37 +0000 |
| commit | 7633410ebffa61f36874c50faffd95f1dfdd1ed2 (patch) | |
| tree | 5526d82da5535774aa7508a87e8a178d5c852dba /src | |
| parent | a478cfecc4f58eb4a70a9f4000dfdf0ebcda0857 (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.h | 4 | ||||
| -rw-r--r-- | src/DefaultBtInteractive.cc | 9 |
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; } |
