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(); }
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();