From: Kefu Chai Date: Wed, 11 Sep 2019 02:22:36 +0000 (+0800) Subject: Merge pull request #30124 from rzarzynski/wip-crimson-conn-in-msg X-Git-Tag: v15.1.0~1611 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=557d5ad8e352d8d6233fc98f830a4f0bfd81fac0;p=ceph-ci.git Merge pull request #30124 from rzarzynski/wip-crimson-conn-in-msg crimson/osd: Message has non-null ref to SocketConnection now. Reviewed-by: Yingxin Cheng Reviewed-by: Kefu Chai --- 557d5ad8e352d8d6233fc98f830a4f0bfd81fac0 diff --cc src/crimson/net/Connection.h index 3a179ee15fe,b0daea26a09..84182e8c079 --- a/src/crimson/net/Connection.h +++ b/src/crimson/net/Connection.h @@@ -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(); } diff --cc src/crimson/net/ProtocolV2.cc index ddd597168b4,1320d5617fd..356343db970 --- a/src/crimson/net/ProtocolV2.cc +++ b/src/crimson/net/ProtocolV2.cc @@@ -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( + 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();