void maybeHandleProxyFailure(SessionProtocol protocol, PoolKey poolKey, Throwable cause) {
        try {
            final ProxyConfig proxyConfig = poolKey.proxyConfig;
            if (proxyConfig.proxyType() != ProxyType.DIRECT) {
                final InetSocketAddress proxyAddress = proxyConfig.proxyAddress();
                assert proxyAddress != null;
                final ProxyConfigSelector proxyConfigSelector = clientFactory.proxyConfigSelector();
                proxyConfigSelector.connectFailed(protocol, poolKey.endpoint,
                                                  proxyAddress, UnprocessedRequestException.of(cause));
            }
        } catch (Throwable t) {
            logger.warn("Exception while invoking {}.connectFailed() for {}",
                        ProxyConfigSelector.class.getSimpleName(), poolKey, t);
        }
    }
Returns the number of open connections on this {@link HttpChannelPool}.
core/src/main/java/com/linecorp/armeria/client/HttpChannelPool.java