summaryrefslogtreecommitdiff
path: root/src/PeerInteractionCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-07-31 15:25:23 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-07-31 15:25:23 +0000
commitdfe3b9bf15fcc579c7f5414939e568e5e4b2104e (patch)
tree6abd45a9ceedc0a8c9380baa70ce0043aaf4de9a /src/PeerInteractionCommand.cc
parentd3f05f44b73978f63279e8d1303885335312a741 (diff)
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed writable check when socket's send buffer is full in BitTorrent downloads to lower CPU usage. * src/PeerInteractionCommand.cc
Diffstat (limited to 'src/PeerInteractionCommand.cc')
-rw-r--r--src/PeerInteractionCommand.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc
index 89ef1d0c..c098b41e 100644
--- a/src/PeerInteractionCommand.cc
+++ b/src/PeerInteractionCommand.cc
@@ -223,7 +223,8 @@ bool PeerInteractionCommand::executeInternal() {
break;
}
case WIRED:
- disableWriteCheckSocket();
+ // See the comment for writable check below.
+ // disableWriteCheckSocket();
btInteractive->doInteractionProcessing();
if(btInteractive->countReceivedMessageInIteration() > 0) {
updateKeepAlive();
@@ -231,9 +232,11 @@ bool PeerInteractionCommand::executeInternal() {
if((peer->amInterested() && !peer->peerChoking() && (peer->getLatency() < 1500)) ||
(peer->peerInterested() && !peer->amChoking())) {
- if(btInteractive->isSendingMessageInProgress()) {
- setWriteCheckSocket(socket);
- }
+ // Writable check causes CPU usage high because socket becomes writable
+ // instantly. So don't do it.
+ // if(btInteractive->isSendingMessageInProgress()) {
+ // setWriteCheckSocket(socket);
+ // }
if(maxDownloadSpeedLimit > 0) {
TransferStat stat = peerStorage->calculateStat();