From aea159c626b46b97ab13431c70f7ac399f7069d8 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 2 Mar 2021 16:18:20 +0800 Subject: [PATCH] crimson/mon: pending_messages should not be empty if active_conn we always send all pending_messages, and clear it when establishing a connection to mon, so there is no need to check for it when calling `send_message()`. Signed-off-by: Kefu Chai --- src/crimson/mon/MonClient.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/crimson/mon/MonClient.cc b/src/crimson/mon/MonClient.cc index 3baf5f9fbf1..f623ac2cac9 100644 --- a/src/crimson/mon/MonClient.cc +++ b/src/crimson/mon/MonClient.cc @@ -1011,13 +1011,12 @@ Client::run_command(const std::vector& cmd, seastar::future<> Client::send_message(MessageRef m) { if (active_con) { - if (!pending_messages.empty()) { - send_pendings(); - } + assert(pending_messages.empty()); return active_con->get_conn()->send(m); + } else { + auto& delayed = pending_messages.emplace_back(m); + return delayed.pr.get_future(); } - auto& delayed = pending_messages.emplace_back(m); - return delayed.pr.get_future(); } void Client::send_pendings() -- 2.39.5