mirror of https://github.com/aria2/aria2
Increase amount to 24K to pack Piece header and payload; fix missing goto
parent
63b6075c91
commit
d8f5887bbe
|
@ -138,7 +138,7 @@ ssize_t SocketBuffer::send()
|
||||||
size_t totalslen = 0;
|
size_t totalslen = 0;
|
||||||
while(!bufq_.empty()) {
|
while(!bufq_.empty()) {
|
||||||
size_t num;
|
size_t num;
|
||||||
ssize_t amount = 16*1024;
|
ssize_t amount = 24*1024;
|
||||||
ssize_t firstlen = bufq_[0]->getLength() - offset_;
|
ssize_t firstlen = bufq_[0]->getLength() - offset_;
|
||||||
amount -= firstlen;
|
amount -= firstlen;
|
||||||
iov[0].A2IOVEC_BASE =
|
iov[0].A2IOVEC_BASE =
|
||||||
|
@ -162,12 +162,14 @@ ssize_t SocketBuffer::send()
|
||||||
if(slen == 0 && !socket_->wantRead() && !socket_->wantWrite()) {
|
if(slen == 0 && !socket_->wantRead() && !socket_->wantWrite()) {
|
||||||
throw DL_ABORT_EX(fmt(EX_SOCKET_SEND, "Connection closed."));
|
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;
|
totalslen += slen;
|
||||||
|
|
||||||
if(firstlen > slen) {
|
if(firstlen > slen) {
|
||||||
offset_ += slen;
|
offset_ += slen;
|
||||||
bufq_[0]->progressUpdate(slen, false);
|
bufq_[0]->progressUpdate(slen, false);
|
||||||
|
goto fin;
|
||||||
} else {
|
} else {
|
||||||
slen -= firstlen;
|
slen -= firstlen;
|
||||||
bufq_[0]->progressUpdate(firstlen, true);
|
bufq_[0]->progressUpdate(firstlen, true);
|
||||||
|
|
Loading…
Reference in New Issue