don't cache disconnected sockets
This commit is contained in:
		| @@ -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); | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user