private void removeCurrentClient(Iterator<TurmsClient> clients, TurmsClient client) {
        clients.remove();
        LOGGER.warn("The session {} has been closed and removed", client.getSessionIdDesc());
    }
The main reason to prepare clients in an async way is to recover from "Connection reset" to
retry to connect without blocking the server
turms-gateway/src/main/java/im/turms/gateway/infra/fake/ClientFakingManager.java