Interface ALPNProvider

  • All Known Implementing Classes:
    ModularJdkAlpnProvider, OpenSSLAlpnProvider

    public interface ALPNProvider
    Interface that allows for ALPN providers to be dynamically selected. THIS API IS TECH PREVIEW It will not be finalised until JDK9 has been released and the JDK9 ALPN API is 100% confirmed
    Author:
    Stuart Douglas
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getPriority()  
      java.lang.String getSelectedProtocol​(javax.net.ssl.SSLEngine engine)
      Gets the selected ALPN protocol, of null if none was selected.
      boolean isEnabled​(javax.net.ssl.SSLEngine sslEngine)  
      javax.net.ssl.SSLEngine setProtocols​(javax.net.ssl.SSLEngine engine, java.lang.String[] protocols)
      Sets the SSL protocols, and potentially wraps the SSLEngine
    • Method Detail

      • isEnabled

        boolean isEnabled​(javax.net.ssl.SSLEngine sslEngine)
      • setProtocols

        javax.net.ssl.SSLEngine setProtocols​(javax.net.ssl.SSLEngine engine,
                                             java.lang.String[] protocols)
        Sets the SSL protocols, and potentially wraps the SSLEngine
        Parameters:
        engine - The original engine
        protocols - The protocols
        Returns:
        The new SSLEngine
      • getSelectedProtocol

        java.lang.String getSelectedProtocol​(javax.net.ssl.SSLEngine engine)
        Gets the selected ALPN protocol, of null if none was selected.
        Parameters:
        engine - The SSL Engine
        Returns:
        The selected protocol
      • getPriority

        int getPriority()
        Returns:
        The priority of this provider, higher priority providers will be tried first