From 9cb8f90307bd2e155e3034cc534bd4d29a2552b1 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Tue, 15 Dec 2020 15:51:01 +0800 Subject: [PATCH] crimson/net: track closing connections for v1 Signed-off-by: Yingxin Cheng --- src/crimson/net/ProtocolV1.cc | 10 ++++++++++ src/crimson/net/ProtocolV1.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/crimson/net/ProtocolV1.cc b/src/crimson/net/ProtocolV1.cc index bf7cd63388054..5d04422da755c 100644 --- a/src/crimson/net/ProtocolV1.cc +++ b/src/crimson/net/ProtocolV1.cc @@ -952,6 +952,9 @@ void ProtocolV1::trigger_close() { logger().trace("{} trigger closing, was {}", conn, static_cast(state)); + messenger.closing_conn( + seastar::static_pointer_cast( + conn.shared_from_this())); if (state == state_t::accepting) { messenger.unaccept_conn(seastar::static_pointer_cast( @@ -971,6 +974,13 @@ void ProtocolV1::trigger_close() state = state_t::closing; } +void ProtocolV1::on_closed() +{ + messenger.closed_conn( + seastar::static_pointer_cast( + conn.shared_from_this())); +} + seastar::future<> ProtocolV1::fault() { if (conn.policy.lossy) { diff --git a/src/crimson/net/ProtocolV1.h b/src/crimson/net/ProtocolV1.h index c71af598bcfc5..ed6df895415ff 100644 --- a/src/crimson/net/ProtocolV1.h +++ b/src/crimson/net/ProtocolV1.h @@ -18,6 +18,7 @@ class ProtocolV1 final : public Protocol { ~ProtocolV1() override; void print(std::ostream&) const final; private: + void on_closed() override; bool is_connected() const override; void start_connect(const entity_addr_t& peer_addr, -- 2.39.5