private boolean usePendingAcquisition(SessionProtocol desiredProtocol,
                                          SerializationFormat serializationFormat,
                                          PoolKey key,
                                          ChannelAcquisitionFuture promise,
                                          ClientConnectionTimingsBuilder timingsBuilder) {

        if (desiredProtocol.isExplicitHttp1()) {
            // Can't use HTTP/1 connections because they will not be available in the pool until
            // the request is done.
            return false;
        }

        final ChannelAcquisitionFuture pendingAcquisition = getPendingAcquisition(desiredProtocol, key);
        if (pendingAcquisition == null) {
            return false;
        }

        timingsBuilder.pendingAcquisitionStart();
        pendingAcquisition.piggyback(desiredProtocol, serializationFormat, key, promise, timingsBuilder);
        return true;
    }
Tries to use the pending HTTP/2 connection to avoid creating an extra connection.

@return {@code true} if succeeded to reuse the pending connection.
core/src/main/java/com/linecorp/armeria/client/HttpChannelPool.java