From: Yingxin Cheng Date: Mon, 1 Apr 2019 14:12:41 +0000 (+0800) Subject: crimson/net: scoped enum for proto_type X-Git-Tag: v15.1.0~3027^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fcae1e6b44affb6847fc63c58e9c5cf1fff235a6;p=ceph.git crimson/net: scoped enum for proto_type Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/net/Protocol.cc b/src/crimson/net/Protocol.cc index f509ec28ec28..c2d9b67605a2 100644 --- a/src/crimson/net/Protocol.cc +++ b/src/crimson/net/Protocol.cc @@ -17,7 +17,7 @@ namespace { namespace ceph::net { -Protocol::Protocol(int type, +Protocol::Protocol(proto_t type, Dispatcher& dispatcher, SocketConnection& conn) : proto_type(type), diff --git a/src/crimson/net/Protocol.h b/src/crimson/net/Protocol.h index 5d4a39496b8b..55af59270550 100644 --- a/src/crimson/net/Protocol.h +++ b/src/crimson/net/Protocol.h @@ -13,6 +13,12 @@ namespace ceph::net { class Protocol { public: + enum class proto_t { + none, + v1, + v2 + }; + Protocol(Protocol&&) = delete; virtual ~Protocol(); @@ -32,7 +38,7 @@ class Protocol { const entity_addr_t& peer_addr) = 0; protected: - Protocol(int type, + Protocol(proto_t type, Dispatcher& dispatcher, SocketConnection& conn); @@ -46,7 +52,7 @@ class Protocol { virtual seastar::future<> do_keepalive_ack() = 0; public: - const int proto_type; + const proto_t proto_type; protected: Dispatcher &dispatcher; diff --git a/src/crimson/net/ProtocolV1.cc b/src/crimson/net/ProtocolV1.cc index 03fa8b7ef5b1..3730e2360136 100644 --- a/src/crimson/net/ProtocolV1.cc +++ b/src/crimson/net/ProtocolV1.cc @@ -143,7 +143,7 @@ namespace ceph::net { ProtocolV1::ProtocolV1(Dispatcher& dispatcher, SocketConnection& conn, SocketMessenger& messenger) - : Protocol(1, dispatcher, conn), messenger{messenger} {} + : Protocol(proto_t::v1, dispatcher, conn), messenger{messenger} {} ProtocolV1::~ProtocolV1() {} @@ -515,9 +515,10 @@ seastar::future ProtocolV1::repeat_handle_connect() return send_connect_reply(tag, std::move(authorizer_reply)); } if (auto existing = messenger.lookup_conn(conn.peer_addr); existing) { - if (existing->protocol->proto_type != 1) { + if (existing->protocol->proto_type != proto_t::v1) { logger().warn("{} existing {} proto version is {} not 1, close existing", - conn, *existing, existing->protocol->proto_type); + conn, *existing, + static_cast(existing->protocol->proto_type)); existing->close(); } else { return handle_connect_with_existing(existing, std::move(authorizer_reply)); diff --git a/src/crimson/net/ProtocolV2.cc b/src/crimson/net/ProtocolV2.cc index da096a68664c..038733f57c79 100644 --- a/src/crimson/net/ProtocolV2.cc +++ b/src/crimson/net/ProtocolV2.cc @@ -62,7 +62,7 @@ namespace ceph::net { ProtocolV2::ProtocolV2(Dispatcher& dispatcher, SocketConnection& conn, SocketMessenger& messenger) - : Protocol(2, dispatcher, conn, messenger) {} + : Protocol(proto_t::v2, dispatcher, conn), messenger{messenger} {} ProtocolV2::~ProtocolV2() {} @@ -1013,9 +1013,10 @@ seastar::future ProtocolV2::server_connect() SocketConnectionRef existing = messenger.lookup_conn(conn.peer_addr); if (existing) { - if (existing->protocol->proto_type != 2) { + if (existing->protocol->proto_type != proto_t::v2) { logger().warn("{} existing {} proto version is {}, close", - conn, *existing, existing->protocol->proto_type); + conn, *existing, + static_cast(existing->protocol->proto_type)); // should unregister the existing from msgr atomically existing->close(); } else { @@ -1104,9 +1105,11 @@ seastar::future ProtocolV2::server_reconnect() return send_reset(true); } - if (existing->protocol->proto_type != 2) { + if (existing->protocol->proto_type != proto_t::v2) { logger().warn("{} server_reconnect: existing {} proto version is {}," - "close existing and resetting client.", conn, *existing); + "close existing and resetting client.", + conn, *existing, + static_cast(existing->protocol->proto_type)); existing->close(); return send_reset(true); }