From 846f3f61aa16984d598d5d503e78a2b774562ee1 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Mon, 9 Jan 2017 23:28:34 +0100 Subject: Use std::move --- .../filestorage/filestorhandlerimpl.cpp | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'storage') diff --git a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp index 80cbc99aa51..a3aab381c25 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp +++ b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp @@ -447,11 +447,11 @@ FileStorHandlerImpl::getNextMessage(uint16_t disk, return lck; } - std::shared_ptr msg(range.first->_command); - mbus::Trace& trace = msg->getTrace(); + api::StorageMessage & m(*range.first->_command); + mbus::Trace& trace = m.getTrace(); // Priority is too low, not buffering any more. - if (msg->getPriority() > maxPriority || msg->getPriority() >= _maxPriorityToBlock) { + if (m.getPriority() > maxPriority || m.getPriority() >= _maxPriorityToBlock) { lck.second.reset(); return lck; } @@ -462,16 +462,17 @@ FileStorHandlerImpl::getNextMessage(uint16_t disk, uint64_t waitTime( const_cast(range.first->_timer).stop( - t.metrics->averageQueueWaitingTime[msg->getLoadType()])); + t.metrics->averageQueueWaitingTime[m.getLoadType()])); LOG(debug, "Message %s waited %" PRIu64 " ms in storage queue (bucket %s), " "timeout %d", - msg->toString().c_str(), waitTime, id.toString().c_str(), - static_cast(*msg).getTimeout()); + m.toString().c_str(), waitTime, id.toString().c_str(), + static_cast(m).getTimeout()); - if (msg->getType().isReply() || - waitTime < static_cast(*msg).getTimeout()) + if (m.getType().isReply() || + waitTime < static_cast(m).getTimeout()) { + std::shared_ptr msg = std::move(range.first->_command); idx.erase(range.first); lck.second.swap(msg); lockGuard.broadcast(); @@ -479,15 +480,14 @@ FileStorHandlerImpl::getNextMessage(uint16_t disk, return lck; } else { std::shared_ptr msgReply( - static_cast(*msg) + static_cast(m) .makeReply().release()); - msgReply->setResult(api::ReturnCode( - api::ReturnCode::TIMEOUT, - "Message waited too long in storage queue")); - idx.erase(range.first); lockGuard.broadcast(); lockGuard.unlock(); + msgReply->setResult(api::ReturnCode( + api::ReturnCode::TIMEOUT, + "Message waited too long in storage queue")); _messageSender.sendReply(msgReply); lck.second.reset(); -- cgit v1.2.3