summaryrefslogtreecommitdiff
path: root/src/SocketBuffer.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-14 18:14:32 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-14 21:01:08 +0900
commitd8f5887bbe7bc0ca31c37ed1bdc3a37431ca26b7 (patch)
tree42c6a54c1c1ec33a673cefc32f19b08ecdb59518 /src/SocketBuffer.cc
parent63b6075c91ffe175ba5c89d33778a3ff1f1c2972 (diff)
Increase amount to 24K to pack Piece header and payload; fix missing goto
Diffstat (limited to 'src/SocketBuffer.cc')
-rw-r--r--src/SocketBuffer.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/SocketBuffer.cc b/src/SocketBuffer.cc
index ae3972a4..85bc8250 100644
--- a/src/SocketBuffer.cc
+++ b/src/SocketBuffer.cc
@@ -138,7 +138,7 @@ ssize_t SocketBuffer::send()
size_t totalslen = 0;
while(!bufq_.empty()) {
size_t num;
- ssize_t amount = 16*1024;
+ ssize_t amount = 24*1024;
ssize_t firstlen = bufq_[0]->getLength() - offset_;
amount -= firstlen;
iov[0].A2IOVEC_BASE =
@@ -162,12 +162,14 @@ ssize_t SocketBuffer::send()
if(slen == 0 && !socket_->wantRead() && !socket_->wantWrite()) {
throw DL_ABORT_EX(fmt(EX_SOCKET_SEND, "Connection closed."));
}
- //A2_LOG_NOTICE(fmt("SEND=%d", slen));
+ // A2_LOG_NOTICE(fmt("num=%zu, amount=%d, bufq.size()=%zu, SEND=%d",
+ // num, amount, bufq_.size(), slen));
totalslen += slen;
if(firstlen > slen) {
offset_ += slen;
bufq_[0]->progressUpdate(slen, false);
+ goto fin;
} else {
slen -= firstlen;
bufq_[0]->progressUpdate(firstlen, true);