Interface ALPN.ServerProvider

All Superinterfaces:
ALPN.Provider
Enclosing class:
ALPN

public static interface ALPN.ServerProvider extends ALPN.Provider
The server-side provider interface that applications must implement to interact with the negotiation of the protocol.
  • Method Summary

    Modifier and Type
    Method
    Description
    select(List<String> protocols)
    Callback invoked to let the server application select a protocol among the ones sent by the client.
    void
    Callback invoked to let the server application know that the client does not support ALPN.
  • Method Details

    • unsupported

      void unsupported()
      Callback invoked to let the server application know that the client does not support ALPN.
    • select

      String select(List<String> protocols) throws SSLException

      Callback invoked to let the server application select a protocol among the ones sent by the client.

      The implementation may throw an exception to indicate that the protocol negotiation is not possible, causing the connection to be closed with a TLS alert of type no_application_protocol(120).

      Parameters:
      protocols - the protocols sent by the client.
      Returns:
      the protocol selected by the server application. A null value will indicate the server will not include the ALPN extension message in the ServerHello message. This means the server appears as though it doesn't support ALPN and lets the client decide how to handle the situation.
      Throws:
      SSLException - if the protocol negotiation failed.