From: Haomai Wang Date: Thu, 21 Jan 2016 12:08:23 +0000 (+0800) Subject: AsyncConnection: use move instead of bufferlist copy construct X-Git-Tag: v10.0.4~58^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f6b87d3b3a60be3036921ebbbfc1da96deea3f9a;p=ceph.git AsyncConnection: use move instead of bufferlist copy construct Signed-off-by: Haomai Wang --- diff --git a/src/msg/async/AsyncConnection.cc b/src/msg/async/AsyncConnection.cc index 9c1b250fbcba..7e9694768e48 100644 --- a/src/msg/async/AsyncConnection.cc +++ b/src/msg/async/AsyncConnection.cc @@ -2074,7 +2074,7 @@ int AsyncConnection::send_message(Message *m) << " Drop message " << m << dendl; m->put(); } else { - out_q[m->get_priority()].push_back(make_pair(bl, m)); + out_q[m->get_priority()].emplace_back(std::move(bl), m); ldout(async_msgr->cct, 15) << __func__ << " inline write is denied, reschedule m=" << m << dendl; center->dispatch_event_external(write_handler); } diff --git a/src/msg/async/AsyncConnection.h b/src/msg/async/AsyncConnection.h index 40a9887344f1..44dc1f436ad7 100644 --- a/src/msg/async/AsyncConnection.h +++ b/src/msg/async/AsyncConnection.h @@ -74,7 +74,7 @@ class AsyncConnection : public Connection { void _send_keepalive_or_ack(bool ack=false, utime_t *t=NULL); ssize_t write_message(Message *m, bufferlist& bl); ssize_t _reply_accept(char tag, ceph_msg_connect &connect, ceph_msg_connect_reply &reply, - bufferlist authorizer_reply) { + bufferlist &authorizer_reply) { bufferlist reply_bl; reply.tag = tag; reply.features = ((uint64_t)connect.features & policy.features_supported) | policy.features_required;