diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-01-14 18:14:32 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-01-14 21:01:08 +0900 |
| commit | d8f5887bbe7bc0ca31c37ed1bdc3a37431ca26b7 (patch) | |
| tree | 42c6a54c1c1ec33a673cefc32f19b08ecdb59518 /src/SocketBuffer.cc | |
| parent | 63b6075c91ffe175ba5c89d33778a3ff1f1c2972 (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.cc | 6 |
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); |
