Forráskód Böngészése

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
Tatsuhiro Tsujikawa 17 éve
szülő
commit
dfe3b9bf15
2 módosított fájl, 13 hozzáadás és 4 törlés
  1. 6 0
      ChangeLog
  2. 7 4
      src/PeerInteractionCommand.cc

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+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
+
 2008-07-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Fixed broken gzip inflation.

+ 7 - 4
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();