don't cache disconnected sockets
Some checks failed
BlockStorage/repertory_mac/pipeline/head There was a failure building this commit
BlockStorage/repertory/pipeline/head This commit looks good

This commit is contained in:
2025-08-04 10:59:03 -05:00
parent c91e51a445
commit ccb56485d8

View File

@@ -71,6 +71,7 @@ void packet_client::connect(client &cli) {
boost::asio::connect(cli.socket, resolve_results_);
cli.socket.set_option(boost::asio::ip::tcp::no_delay(true));
cli.socket.set_option(boost::asio::socket_base::linger(false, 0));
cli.socket.set_option(boost::asio::socket_base::keep_alive(true));
packet response;
auto res = read_packet(cli, response);
@@ -103,7 +104,11 @@ auto packet_client::get_client() -> std::shared_ptr<packet_client::client> {
}
void packet_client::put_client(std::shared_ptr<client> &cli) {
mutex_lock clientsLock(clients_mutex_);
if (not cli->socket.is_open()) {
return;
}
mutex_lock clients_lock(clients_mutex_);
if (clients_.size() < cfg_.max_connections) {
clients_.emplace_back(cli);
}