summaryrefslogtreecommitdiff
path: root/src/FtpNegotiationCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-15 23:17:21 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-15 23:17:21 +0900
commitbf4ea63a6692719344580dc33fd9113506d0027c (patch)
tree1dc0936a9c6609aefc87147f7cd09b33552bec93 /src/FtpNegotiationCommand.cc
parente6b027468567e7005170ba9ef7d7bc0ac67d031b (diff)
Disable TCP_NODELAY for BitTorrent
To make Request messages more often packed into 1 packet.
Diffstat (limited to 'src/FtpNegotiationCommand.cc')
-rw-r--r--src/FtpNegotiationCommand.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/FtpNegotiationCommand.cc b/src/FtpNegotiationCommand.cc
index 6da4dc27..a5c804b9 100644
--- a/src/FtpNegotiationCommand.cc
+++ b/src/FtpNegotiationCommand.cc
@@ -683,6 +683,7 @@ bool FtpNegotiationCommand::preparePasvConnect() {
pasvPort_));
dataSocket_.reset(new SocketCore());
dataSocket_->establishConnection(dataAddr.first, pasvPort_);
+ dataSocket_->setTcpNodelay(true);
disableReadCheckSocket();
setWriteCheckSocket(dataSocket_);
sequence_ = SEQ_SEND_REST_PASV;
@@ -704,6 +705,7 @@ bool FtpNegotiationCommand::resolveProxy()
proxyAddr_.c_str(), proxyReq->getPort()));
dataSocket_.reset(new SocketCore());
dataSocket_->establishConnection(proxyAddr_, proxyReq->getPort());
+ dataSocket_->setTcpNodelay(true);
disableReadCheckSocket();
setWriteCheckSocket(dataSocket_);
SharedHandle<SocketRecvBuffer> socketRecvBuffer
@@ -739,6 +741,7 @@ bool FtpNegotiationCommand::sendTunnelRequest()
getCuid(),
proxyAddr_.c_str(), proxyReq->getPort()));
dataSocket_->establishConnection(proxyAddr_, proxyReq->getPort());
+ dataSocket_->setTcpNodelay(true);
return false;
}
}
@@ -867,6 +870,7 @@ bool FtpNegotiationCommand::waitConnection()
disableReadCheckSocket();
setReadCheckSocket(getSocket());
dataSocket_ = serverSocket_->acceptConnection();
+ dataSocket_->setTcpNodelay(true);
sequence_ = SEQ_NEGOTIATION_COMPLETED;
return false;
}