From 9d2d28c879caebf18d3b2ee05faa32dc451a534c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 30 Jul 2018 16:19:02 -0500 Subject: [PATCH] msg/Messenger: send_message -> send_to Keep send_message() around as a wrapper Signed-off-by: Sage Weil --- src/msg/Messenger.h | 10 ++++------ src/msg/async/AsyncMessenger.cc | 26 ++++++++++++++------------ src/msg/async/AsyncMessenger.h | 8 ++++---- src/msg/simple/SimpleMessenger.h | 8 ++++++++ 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/src/msg/Messenger.h b/src/msg/Messenger.h index 931fca8b2697f..e83eb72094cac 100644 --- a/src/msg/Messenger.h +++ b/src/msg/Messenger.h @@ -442,16 +442,14 @@ public: * * @return 0 on success, or -errno on failure. */ - virtual int send_message(Message *m, const entity_inst_t& dest) = 0; + virtual int send_message(Message *m, const entity_inst_t& dest) { + return send_to(m, dest.name.type(), entity_addrvec_t(dest.addr)); + } virtual int send_to( Message *m, int type, - const entity_addrvec_t& addr) { - // temporary - return send_message(m, entity_inst_t(entity_name_t(type, -1), - addr.legacy_addr())); - } + const entity_addrvec_t& addr) = 0; int send_to_mon( Message *m, const entity_addrvec_t& addrs) { return send_to(m, CEPH_ENTITY_TYPE_MON, addrs); diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc index 3b90886191765..3bb90d724a10b 100644 --- a/src/msg/async/AsyncMessenger.cc +++ b/src/msg/async/AsyncMessenger.cc @@ -605,7 +605,7 @@ ConnectionRef AsyncMessenger::get_loopback_connection() return local_connection; } -int AsyncMessenger::_send_message(Message *m, const entity_inst_t& dest) +int AsyncMessenger::_send_to(Message *m, int type, const entity_addrvec_t& addrs) { FUNCTRACE(cct); assert(m); @@ -615,24 +615,25 @@ int AsyncMessenger::_send_message(Message *m, const entity_inst_t& dest) else if (m->get_type() == CEPH_MSG_OSD_OPREPLY) OID_EVENT_TRACE(((MOSDOpReply *)m)->get_oid().name.c_str(), "SEND_MSG_OSD_OP_REPLY"); - ldout(cct, 1) << __func__ << "--> " << dest.name << " " - << dest.addr << " -- " << *m << " -- ?+" + ldout(cct, 1) << __func__ << "--> " << ceph_entity_type_name(type) << " " + << addrs << " -- " << *m << " -- ?+" << m->get_data().length() << " " << m << dendl; - if (dest.addr == entity_addr_t()) { + if (addrs.empty()) { ldout(cct,0) << __func__ << " message " << *m - << " with empty dest " << dest.addr << dendl; + << " with empty dest " << addrs << dendl; m->put(); return -EINVAL; } - AsyncConnectionRef conn = _lookup_conn(entity_addrvec_t(dest.addr)); - submit_message(m, conn, dest.addr, dest.name.type()); + AsyncConnectionRef conn = _lookup_conn(addrs); + submit_message(m, conn, addrs, type); return 0; } void AsyncMessenger::submit_message(Message *m, AsyncConnectionRef con, - const entity_addr_t& dest_addr, int dest_type) + const entity_addrvec_t& dest_addrs, + int dest_type) { if (cct->_conf->ms_dump_on_send) { m->encode(-1, MSG_CRC_ALL); @@ -653,7 +654,7 @@ void AsyncMessenger::submit_message(Message *m, AsyncConnectionRef con, } // local? - if (my_addrs->legacy_addr() == dest_addr) { + if (*my_addrs == dest_addrs) { // local local_connection->send_message(m); return ; @@ -662,13 +663,14 @@ void AsyncMessenger::submit_message(Message *m, AsyncConnectionRef con, // remote, no existing connection. const Policy& policy = get_policy(dest_type); if (policy.server) { - ldout(cct, 20) << __func__ << " " << *m << " remote, " << dest_addr + ldout(cct, 20) << __func__ << " " << *m << " remote, " << dest_addrs << ", lossy server for target type " << ceph_entity_type_name(dest_type) << ", no session, dropping." << dendl; m->put(); } else { - ldout(cct,20) << __func__ << " " << *m << " remote, " << dest_addr << ", new connection." << dendl; - con = create_connect(entity_addrvec_t(dest_addr), dest_type); + ldout(cct,20) << __func__ << " " << *m << " remote, " << dest_addrs + << ", new connection." << dendl; + con = create_connect(dest_addrs, dest_type); con->send_message(m); } } diff --git a/src/msg/async/AsyncMessenger.h b/src/msg/async/AsyncMessenger.h index 86a952ac126f3..e97c161ea867f 100644 --- a/src/msg/async/AsyncMessenger.h +++ b/src/msg/async/AsyncMessenger.h @@ -137,10 +137,10 @@ public: * @defgroup Messaging * @{ */ - int send_message(Message *m, const entity_inst_t& dest) override { + int send_to(Message *m, int type, const entity_addrvec_t& addrs) override { Mutex::Locker l(lock); - return _send_message(m, dest); + return _send_to(m, type, addrs); } /** @} // Messaging */ @@ -214,9 +214,9 @@ private: * just drop silently under failure. */ void submit_message(Message *m, AsyncConnectionRef con, - const entity_addr_t& dest_addr, int dest_type); + const entity_addrvec_t& dest_addrs, int dest_type); - int _send_message(Message *m, const entity_inst_t& dest); + int _send_to(Message *m, int type, const entity_addrvec_t& addrs); void _finish_bind(const entity_addrvec_t& bind_addrs, const entity_addrvec_t& listen_addrs); diff --git a/src/msg/simple/SimpleMessenger.h b/src/msg/simple/SimpleMessenger.h index 3c5e850c91aef..3382e713121ee 100644 --- a/src/msg/simple/SimpleMessenger.h +++ b/src/msg/simple/SimpleMessenger.h @@ -138,6 +138,14 @@ public: int send_message(Message *m, const entity_inst_t& dest) override { return _send_message(m, dest); } + int send_to( + Message *m, + int type, + const entity_addrvec_t& addr) override { + // temporary + return send_message(m, entity_inst_t(entity_name_t(type, -1), + addr.legacy_addr())); + } int send_message(Message *m, Connection *con) { return _send_message(m, con); -- 2.39.5