class ProtocolV1 final : public Protocol {
public:
- ProtocolV1(Dispatcher& dispatcher,
+ ProtocolV1(ChainedDispatchers& dispatchers,
SocketConnection& conn,
SocketMessenger& messenger);
~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,
- const entity_type_t& peer_type) override;
+ const entity_name_t& peer_name) override;
void start_accept(SocketRef&& socket,
const entity_addr_t& peer_addr) override;
seastar::future<stop_t> handle_connect_with_existing(
SocketConnectionRef existing, bufferlist&& authorizer_reply);
bool require_auth_feature() const;
+ bool require_cephx_v2_feature() const;
seastar::future<stop_t> repeat_handle_connect();
// open
seastar::future<> maybe_throttle();
seastar::future<> read_message();
seastar::future<> handle_tags();
- void execute_open();
+
+ enum class open_t {
+ connected,
+ accepted
+ };
+ void execute_open(open_t type);
// replacing
// the number of connections initiated in this session, increment when a