]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Merge pull request #30124 from rzarzynski/wip-crimson-conn-in-msg
authorKefu Chai <kchai@redhat.com>
Wed, 11 Sep 2019 02:22:36 +0000 (10:22 +0800)
committerGitHub <noreply@github.com>
Wed, 11 Sep 2019 02:22:36 +0000 (10:22 +0800)
crimson/osd: Message has non-null ref to SocketConnection now.

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
1  2 
src/crimson/net/Connection.h
src/crimson/net/Messenger.h
src/crimson/net/Protocol.cc
src/crimson/net/ProtocolV2.cc
src/crimson/net/SocketConnection.h
src/msg/Message.cc
src/msg/Message.h

index 3a179ee15fecbee7fc1e310903ebcdfb1f463593,b0daea26a098e26ee724d8b2f0b2c8cf59a67277..84182e8c079dc187c7d5c8d86ecf60577c08e92f
@@@ -48,12 -63,14 +67,18 @@@ class Connection : public seastar::enab
    Connection() {}
    virtual ~Connection() {}
  
 +#ifdef UNIT_TESTS_BUILT
 +  Interceptor *interceptor = nullptr;
 +#endif
 +
    virtual Messenger* get_messenger() const = 0;
    const entity_addr_t& get_peer_addr() const { return peer_addr; }
+   const entity_addrvec_t get_peer_addrs() const {
+     return entity_addrvec_t(peer_addr);
+   }
+   const auto& get_peer_socket_addr() const {
+     return target_addr;
+   }
    const entity_name_t& get_peer_name() const { return peer_name; }
    entity_type_t get_peer_type() const { return peer_name.type(); }
    int64_t get_peer_id() const { return peer_name.num(); }
Simple merge
Simple merge
index ddd597168b49f878126294149da110ea7e1dc441,1320d5617fd0eb61a165b411b78b69ac1c940f42..356343db970fa0746cfa4f977c3da2b78467e23a
@@@ -1848,12 -1805,14 +1848,15 @@@ seastar::future<> ProtocolV2::read_mess
                             conn.get_peer_name(),
                             current_header.compat_version,
                             current_header.reserved,
 -                           0};
 -    ceph_msg_footer footer{0, 0, 0, 0, current_header.flags};
 +                           init_le32(0)};
 +    ceph_msg_footer footer{init_le32(0), init_le32(0),
 +                           init_le32(0), init_le64(0), current_header.flags};
  
+     auto pconn = seastar::static_pointer_cast<SocketConnection>(
+         conn.shared_from_this());
      Message *message = decode_message(nullptr, 0, header, footer,
-         msg_frame.front(), msg_frame.middle(), msg_frame.data(), nullptr);
+         msg_frame.front(), msg_frame.middle(), msg_frame.data(),
+         std::move(pconn));
      if (!message) {
        logger().warn("{} decode message failed", conn);
        abort_in_fault();
Simple merge
Simple merge
Simple merge