From 5d157460603cc39dd890291f7f02b1a2a062688c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 23 May 2018 11:45:57 -0500 Subject: [PATCH] msg/msg_types: add entity_addrvec_t::legacy_addr() helper Signed-off-by: Sage Weil --- src/msg/msg_types.cc | 13 +------------ src/msg/msg_types.h | 9 +++++++++ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/msg/msg_types.cc b/src/msg/msg_types.cc index 525661e52d9..1b8b167fc7c 100644 --- a/src/msg/msg_types.cc +++ b/src/msg/msg_types.cc @@ -245,18 +245,7 @@ void entity_addrvec_t::encode(bufferlist& bl, uint64_t features) const using ceph::encode; if ((features & CEPH_FEATURE_MSG_ADDR2) == 0) { // encode a single legacy entity_addr_t for unfeatured peers - if (v.size() > 0) { - for (vector::const_iterator p = v.begin(); - p != v.end(); ++p) { - if ((*p).type == entity_addr_t::TYPE_LEGACY) { - encode(*p, bl, 0); - return; - } - } - encode(v[0], bl, 0); - } else { - encode(entity_addr_t(), bl, 0); - } + encode(legacy_addr(), bl, 0); return; } encode((__u8)2, bl); diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h index 07d69c480cf..77f6c59642b 100644 --- a/src/msg/msg_types.h +++ b/src/msg/msg_types.h @@ -535,6 +535,15 @@ struct entity_addrvec_t { unsigned size() const { return v.size(); } bool empty() const { return v.empty(); } + entity_addr_t legacy_addr() const { + for (auto& a : v) { + if (a.type == entity_addr_t::TYPE_LEGACY) { + return a; + } + } + return entity_addr_t(); + } + bool parse(const char *s, const char **end = 0); void encode(bufferlist& bl, uint64_t features) const; -- 2.39.5