]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/Messenger: send_message -> send_to 23338/head
authorSage Weil <sage@redhat.com>
Mon, 30 Jul 2018 21:19:02 +0000 (16:19 -0500)
committerSage Weil <sage@redhat.com>
Mon, 30 Jul 2018 22:08:06 +0000 (17:08 -0500)
Keep send_message() around as a wrapper

Signed-off-by: Sage Weil <sage@redhat.com>
src/msg/Messenger.h
src/msg/async/AsyncMessenger.cc
src/msg/async/AsyncMessenger.h
src/msg/simple/SimpleMessenger.h

index 931fca8b2697fd9847605decffeba82eb2dc91dc..e83eb72094cac531986dd86045148904afcc8f3a 100644 (file)
@@ -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);
index 3b90886191765e0fe9e15da93b3e0c715d6c3a2e..3bb90d724a10b21a7a7a2eefc586c925a079e8a5 100644 (file)
@@ -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);
   }
 }
index 86a952ac126f30a17716ecf94ef93aee82f521ce..e97c161ea867f38ca845a18471efcbde5a5bf5ff 100644 (file)
@@ -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);
 
index 3c5e850c91aef48411ccb9435ba6450e181d201b..3382e713121ee2a2c51eae4c4b83804b8622eb14 100644 (file)
@@ -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);