From e32eb83c9988493f4acbfa48bf03a85201e0462f Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 15 Jun 2008 16:27:12 +0000 Subject: [PATCH] 2008-06-16 Tatsuhiro Tsujikawa Added writable test for Socket when the sending message is in progress. Usually the sending message is piece message. Without wriable check, upload latency is dropped to more than 1sec. * src/PeerInteractionCommand.cc --- ChangeLog | 7 +++++++ src/PeerInteractionCommand.cc | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index adc4dd14..f5802b31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-16 Tatsuhiro Tsujikawa + + Added writable test for Socket when the sending message is in progress. + Usually the sending message is piece message. Without wriable check, + upload latency is dropped to more than 1sec. + * src/PeerInteractionCommand.cc + 2008-06-16 Tatsuhiro Tsujikawa Create only requested files and files which shares a piece with diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index fda2f195..d1e5fa5c 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -222,6 +222,7 @@ bool PeerInteractionCommand::executeInternal() { break; } case WIRED: + disableWriteCheckSocket(); btInteractive->doInteractionProcessing(); if(btInteractive->countReceivedMessageInIteration() > 0) { updateKeepAlive(); @@ -242,6 +243,9 @@ bool PeerInteractionCommand::executeInternal() { } else { disableReadCheckSocket(); } + if(btInteractive->isSendingMessageInProgress()) { + setWriteCheckSocket(socket); + } break; } if(btInteractive->countPendingMessage() > 0) {