diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-07-31 15:25:23 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-07-31 15:25:23 +0000 |
| commit | dfe3b9bf15fcc579c7f5414939e568e5e4b2104e (patch) | |
| tree | 6abd45a9ceedc0a8c9380baa70ce0043aaf4de9a /src/PeerInteractionCommand.cc | |
| parent | d3f05f44b73978f63279e8d1303885335312a741 (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.cc | 11 |
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(); |
