diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-05 23:40:19 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-05 23:40:19 +0900 |
| commit | aff92b5115e322574f885cdd32f65c745cc343c1 (patch) | |
| tree | 35eec43821e975d38e98e43f7307d434cf80e8f6 /src/SocketRecvBuffer.cc | |
| parent | 0aac49d55e80a5cab4001ca39d81295c713c47a5 (diff) | |
SocketRecvBuffer: Cleanup with C++11 features
Diffstat (limited to 'src/SocketRecvBuffer.cc')
| -rw-r--r-- | src/SocketRecvBuffer.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/SocketRecvBuffer.cc b/src/SocketRecvBuffer.cc index 690e660d..beb163c5 100644 --- a/src/SocketRecvBuffer.cc +++ b/src/SocketRecvBuffer.cc @@ -39,28 +39,27 @@ #include "SocketCore.h" #include "LogFactory.h" +#include "a2functional.h" namespace aria2 { SocketRecvBuffer::SocketRecvBuffer -(const std::shared_ptr<SocketCore>& socket, +(std::shared_ptr<SocketCore> socket, size_t capacity) - : socket_(socket), + : socket_(std::move(socket)), capacity_(capacity), - buf_(new unsigned char[capacity_]), + buf_(make_unique<unsigned char[]>(capacity_)), bufLen_(0) {} SocketRecvBuffer::~SocketRecvBuffer() -{ - delete [] buf_; -} +{} ssize_t SocketRecvBuffer::recv() { - size_t len = capacity_-bufLen_; + size_t len = capacity_ - bufLen_; if(len > 0) { - socket_->readData(buf_+bufLen_, len); + socket_->readData(buf_.get() + bufLen_, len); bufLen_ += len; } else { A2_LOG_DEBUG("Buffer full"); @@ -71,7 +70,7 @@ ssize_t SocketRecvBuffer::recv() void SocketRecvBuffer::shiftBuffer(size_t offset) { assert(offset <= bufLen_); - memmove(buf_, buf_+offset, bufLen_-offset); + memmove(buf_.get(), buf_.get() + offset, bufLen_ - offset); bufLen_ -= offset; } |
