Interface Http2ClientProtocolConfig

All Superinterfaces:
io.helidon.common.config.NamedService, io.helidon.webclient.spi.ProtocolConfig, io.helidon.builder.api.Prototype.Api
All Known Implementing Classes:
Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl

public interface Http2ClientProtocolConfig extends io.helidon.builder.api.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(io.helidon.common.config.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()
      Specified by:
      type in interface io.helidon.common.config.NamedService
    • name

      String name()
      Specified by:
      name in interface io.helidon.common.config.NamedService
    • 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
    • prefetch

      int prefetch()
      First connection window update increment sent right after the connection is established. Defaults to 33_554_432.
      Returns:
      number of bytes the client is prepared to receive as data from all the streams combined
    • 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