diff options
Diffstat (limited to 'src/crimson/net/ProtocolV2.h')
-rw-r--r-- | src/crimson/net/ProtocolV2.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/crimson/net/ProtocolV2.h b/src/crimson/net/ProtocolV2.h index dfca59a3361..5f0aef78fc2 100644 --- a/src/crimson/net/ProtocolV2.h +++ b/src/crimson/net/ProtocolV2.h @@ -13,12 +13,13 @@ namespace crimson::net { class ProtocolV2 final : public Protocol { public: - ProtocolV2(Dispatcher& dispatcher, + ProtocolV2(ChainedDispatchersRef& dispatcher, SocketConnection& conn, SocketMessenger& messenger); ~ProtocolV2() 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, @@ -84,7 +85,7 @@ class ProtocolV2 final : public Protocol { template <typename Func> void gated_execute(const char* what, Func&& func) { - gated_dispatch(what, [this, &func] { + gate.dispatch_in_background(what, *this, [this, &func] { execution_done = seastar::futurize_invoke(std::forward<Func>(func)); return execution_done.get_future(); }); |