Interface Http2ClientProtocolConfig

All Superinterfaces:
NamedService, ProtocolConfig, Prototype.Api
All Known Implementing Classes:
Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl

public interface Http2ClientProtocolConfig extends Prototype.Api
Interface generated from definition. Please add javadoc to the definition interface.
See Also:
  • Method Details

    • builder

      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static Http2ClientProtocolConfig create(Config config)
      Create a new instance from configuration.
      Parameters:
      config - used to configure the new instance
      Returns:
      a new instance configured from configuration
    • create

      static Http2ClientProtocolConfig create()
      Create a new instance with default values.
      Returns:
      a new instance
    • type

      default String type()
      Description copied from interface: NamedService
      Type of this implementation, to distinguish instances of same type, with different NamedService.name(). Use for example ConfiguredProvider.configKey() to define the type.
      Specified by:
      type in interface NamedService
      Returns:
      type of this service
    • name

      String name()
      Description copied from interface: NamedService
      Name of this implementation, as provided in ConfiguredProvider.create(Config, String).
      Specified by:
      name in interface NamedService
      Returns:
      name of this service
    • priorKnowledge

      boolean priorKnowledge()
      Prior knowledge of HTTP/2 capabilities of the server. If server we are connecting to does not support HTTP/2 and prior knowledge is set to false, only features supported by HTTP/1 will be available and attempts to use HTTP/2 specific will throw an UnsupportedOperationException.

      Plain text connection

      If prior knowledge is set to true, we will not attempt an upgrade of connection and use prior knowledge. If prior knowledge is set to false, we will initiate an HTTP/1 connection and upgrade it to HTTP/2, if supported by the server. plaintext connection (h2c).

      TLS protected connection

      If prior knowledge is set to true, we will negotiate protocol using HTTP/2 only, failing if not supported. if prior knowledge is set to false, we will negotiate protocol using both HTTP/2 and HTTP/1, using the protocol supported by server.
      Returns:
      whether to use prior knowledge of HTTP/2
    • maxFrameSize

      int maxFrameSize()
      Configure initial MAX_FRAME_SIZE setting for new HTTP/2 connections. Maximum size of data frames in bytes the client is prepared to accept from the server. Default value is 2^14(16_384).
      Returns:
      data frame size in bytes between 2^14(16_384) and 2^24-1(16_777_215)
    • maxHeaderListSize

      long maxHeaderListSize()
      Configure initial MAX_HEADER_LIST_SIZE setting for new HTTP/2 connections. Sends to the server the maximum header field section size client is prepared to accept. Defaults to -1, which means "unconfigured".
      Returns:
      units of octets
    • initialWindowSize

      int initialWindowSize()
      Configure INITIAL_WINDOW_SIZE setting for new HTTP/2 connections. Sends to the server the size of the largest frame payload client is willing to receive. Defaults to 65535.
      Returns:
      units of octets
    • flowControlBlockTimeout

      Duration flowControlBlockTimeout()
      Timeout for blocking between windows size check iterations.
      Returns:
      timeout
    • ping

      boolean ping()
      Check healthiness of cached connections with HTTP/2.0 ping frame. Defaults to false.
      Returns:
      use ping if true
    • pingTimeout

      Duration pingTimeout()
      Timeout for ping probe used for checking healthiness of cached connections. Defaults to PT0.5S, which means 500 milliseconds.
      Returns:
      timeout