|
@@ -340,19 +340,11 @@ bool PeerInteractionCommand::executeInternal()
|
|
|
break;
|
|
|
}
|
|
|
case WIRED:
|
|
|
- // See the comment for writable check below.
|
|
|
- disableWriteCheckSocket();
|
|
|
-
|
|
|
btInteractive_->doInteractionProcessing();
|
|
|
if (btInteractive_->countReceivedMessageInIteration() > 0) {
|
|
|
updateKeepAlive();
|
|
|
}
|
|
|
|
|
|
- // Writable check to avoid slow seeding
|
|
|
- if (btInteractive_->isSendingMessageInProgress()) {
|
|
|
- setWriteCheckSocket(getSocket());
|
|
|
- }
|
|
|
-
|
|
|
if (getDownloadEngine()
|
|
|
->getRequestGroupMan()
|
|
|
->doesOverallDownloadSpeedExceed() ||
|
|
@@ -368,9 +360,14 @@ bool PeerInteractionCommand::executeInternal()
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (btInteractive_->countPendingMessage() > 0) {
|
|
|
- setNoCheck(true);
|
|
|
+ if (btInteractive_->countPendingMessage() > 0 ||
|
|
|
+ btInteractive_->isSendingMessageInProgress()) {
|
|
|
+ setWriteCheckSocket(getSocket());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ disableWriteCheckSocket();
|
|
|
}
|
|
|
+
|
|
|
addCommandSelf();
|
|
|
return false;
|
|
|
}
|