From ca7e68951dd007fb84a693d8e30bf2c1a4246b00 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 26 Feb 2019 00:29:08 +0800 Subject: [PATCH] messages/MOSDPGInfo: add a ctor for moving pg_list * use delegating constructor for less repeating * add a constructor for movable pg_list parameter: less memcpy(). Signed-off-by: Kefu Chai --- src/messages/MOSDPGInfo.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/messages/MOSDPGInfo.h b/src/messages/MOSDPGInfo.h index 461a0fa65e7..f7ba4aedf9f 100644 --- a/src/messages/MOSDPGInfo.h +++ b/src/messages/MOSDPGInfo.h @@ -29,17 +29,22 @@ private: epoch_t epoch = 0; public: - vector > pg_list; + using pg_list_t = std::vector>; + pg_list_t pg_list; epoch_t get_epoch() const { return epoch; } MOSDPGInfo() - : MessageInstance(MSG_OSD_PG_INFO, HEAD_VERSION, COMPAT_VERSION) { - set_priority(CEPH_MSG_PRIO_HIGH); - } - MOSDPGInfo(version_t mv) + : MOSDPGInfo{0, {}} + {} + MOSDPGInfo(epoch_t mv) + : MOSDPGInfo(mv, {}) + {} + MOSDPGInfo(epoch_t mv, pg_list_t&& l) : MessageInstance(MSG_OSD_PG_INFO, HEAD_VERSION, COMPAT_VERSION), - epoch(mv) { + epoch{mv}, + pg_list{std::move(l)} + { set_priority(CEPH_MSG_PRIO_HIGH); } private: -- 2.39.5