From 3cee38bf922a671acd7e93cf57ce72266ca7f886 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 16 Dec 2024 10:21:54 -0600 Subject: [PATCH] refactor --- .../src/comm/packet/packet_client.cpp | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/repertory/librepertory/src/comm/packet/packet_client.cpp b/repertory/librepertory/src/comm/packet/packet_client.cpp index 11f6ce8b..47bf8998 100644 --- a/repertory/librepertory/src/comm/packet/packet_client.cpp +++ b/repertory/librepertory/src/comm/packet/packet_client.cpp @@ -85,7 +85,7 @@ void packet_client::connect(client &cli) { cli.socket.set_option(boost::asio::socket_base::linger(false, 0)); packet response; - const auto res = read_packet(cli, response); + auto res = read_packet(cli, response); if (res != 0) { throw std::runtime_error(std::to_string(res)); } @@ -98,18 +98,20 @@ auto packet_client::get_client() -> std::shared_ptr { std::shared_ptr ret; unique_mutex_lock clients_lock(clients_mutex_); - if (allow_connections_) { - if (clients_.empty()) { - clients_lock.unlock(); - ret = std::make_shared(io_context_); - connect(*ret); - } else { - ret = clients_[0U]; - utils::collection::remove_element(clients_, ret); - clients_lock.unlock(); - } + if (not allow_connections_) { + return ret; } + if (clients_.empty()) { + clients_lock.unlock(); + + ret = std::make_shared(io_context_); + connect(*ret); + return ret; + } + + ret = clients_.at(0U); + utils::collection::remove_element(clients_, ret); return ret; }