private void enableOpenSSLEngineImplAlpn() throws NoSuchFieldException, IllegalAccessException {
        Field sslParametersField = mSSLEngine.getClass().getDeclaredField("sslParameters");
        sslParametersField.setAccessible(true);
        Object sslParameters = sslParametersField.get(mSSLEngine);
        if (sslParameters == null) {
            throw new IllegalAccessException("sslParameters value is null");
        }
        Field useSessionTicketsField = sslParameters.getClass().getDeclaredField("useSessionTickets");
        useSessionTicketsField.setAccessible(true);
        useSessionTicketsField.set(sslParameters, true);
        Field useSniField = sslParameters.getClass().getDeclaredField("useSni");
        useSniField.setAccessible(true);
        useSniField.set(sslParameters, true);
        Field alpnProtocolsField = sslParameters.getClass().getDeclaredField("alpnProtocols");
        alpnProtocolsField.setAccessible(true);
        alpnProtocolsField.set(sslParameters, concatLengthPrefixed(mClientAlpns));
    }
Http SSL codec enables Application-Layer Protocol Negotiation(ALPN).

See http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-04#page-4

@author Megatron King
@since 2019/1/3 23:31
netbare-core/src/main/java/com/github/megatronking/netbare/http/HttpSSLResponseCodec.java