@Nullable
    private static SessionProtocol getProtocolIfHealthy(Channel ch) {
        if (!ch.isActive()) {
            return null;
        }

        // Note that we do not need to check 'HttpSession.isActive()'
        // because an inactive session always returns null.
        return HttpSession.get(ch).protocol();
    }
Attempts to acquire a {@link Channel} which is matched by the specified condition immediately.

@return {@code null} is there's no match left in the pool and thus a new connection has to be
        requested via {@link #acquireLater(SessionProtocol, SerializationFormat,
        PoolKey, ClientConnectionTimingsBuilder)}.
core/src/main/java/com/linecorp/armeria/client/HttpChannelPool.java