Class Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl

java.lang.Object
io.helidon.webclient.http2.Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl
All Implemented Interfaces:
Prototype.Api, NamedService, Http2ClientProtocolConfig, ProtocolConfig
Enclosing class:
Http2ClientProtocolConfig.BuilderBase<BUILDER extends Http2ClientProtocolConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends Http2ClientProtocolConfig>

protected static class Http2ClientProtocolConfig.BuilderBase.Http2ClientProtocolConfigImpl extends Object implements Http2ClientProtocolConfig
Generated implementation of the prototype, can be extended by descendant prototype implementations.
  • Constructor Details

    • Http2ClientProtocolConfigImpl

      protected Http2ClientProtocolConfigImpl(Http2ClientProtocolConfig.BuilderBase<?,?> builder)
      Create an instance providing a builder.
      Parameters:
      builder - extending builder base of this prototype
  • Method Details

    • name

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

      public boolean priorKnowledge()
      Description copied from interface: Http2ClientProtocolConfig
      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.
      Specified by:
      priorKnowledge in interface Http2ClientProtocolConfig
      Returns:
      whether to use prior knowledge of HTTP/2
    • maxFrameSize

      public int maxFrameSize()
      Description copied from interface: Http2ClientProtocolConfig
      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).
      Specified by:
      maxFrameSize in interface Http2ClientProtocolConfig
      Returns:
      data frame size in bytes between 2^14(16_384) and 2^24-1(16_777_215)
    • maxHeaderListSize

      public long maxHeaderListSize()
      Description copied from interface: Http2ClientProtocolConfig
      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".
      Specified by:
      maxHeaderListSize in interface Http2ClientProtocolConfig
      Returns:
      units of octets
    • initialWindowSize

      public int initialWindowSize()
      Description copied from interface: Http2ClientProtocolConfig
      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.
      Specified by:
      initialWindowSize in interface Http2ClientProtocolConfig
      Returns:
      units of octets
    • flowControlBlockTimeout

      public Duration flowControlBlockTimeout()
      Description copied from interface: Http2ClientProtocolConfig
      Timeout for blocking while waiting for window update when window is depleted.
      Specified by:
      flowControlBlockTimeout in interface Http2ClientProtocolConfig
      Returns:
      timeout
    • ping

      public boolean ping()
      Description copied from interface: Http2ClientProtocolConfig
      Check healthiness of cached connections with HTTP/2.0 ping frame. Defaults to false.
      Specified by:
      ping in interface Http2ClientProtocolConfig
      Returns:
      use ping if true
    • pingTimeout

      public Duration pingTimeout()
      Description copied from interface: Http2ClientProtocolConfig
      Timeout for ping probe used for checking healthiness of cached connections. Defaults to PT0.5S, which means 500 milliseconds.
      Specified by:
      pingTimeout in interface Http2ClientProtocolConfig
      Returns:
      timeout
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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