crimson/monc: fix send_message() racing with reopen_session().
Reviewed-by: Kefu Chai <kchai@redhat.com>
});
}
-seastar::future<> Client::send_message(MessageRef m)
+seastar::future<> Client::send_message(MessageURef m)
{
- if (active_con) {
+ if (active_con && ready_to_send) {
assert(pending_messages.empty());
- return active_con->get_conn()->send(m);
+ return active_con->get_conn()->send(std::move(m));
} else {
- auto& delayed = pending_messages.emplace_back(m);
+ auto& delayed = pending_messages.emplace_back(std::move(m));
return delayed.pr.get_future();
}
}