Interface GrpcClientProtocolConfig

All Superinterfaces:
NamedService, ProtocolConfig, Prototype.Api
All Known Implementing Classes:
GrpcClientProtocolConfig.BuilderBase.GrpcClientProtocolConfigImpl

public interface GrpcClientProtocolConfig extends Prototype.Api
Configuration of a gRPC client.
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 GrpcClientProtocolConfig 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 GrpcClientProtocolConfig create()
      Create a new instance with default values.
      Returns:
      a new instance
    • type

      default String type()
      Type identifying this protocol.
      Specified by:
      type in interface NamedService
      Returns:
      protocol type
    • name

      String name()
      Name identifying this client protocol. Defaults to type.
      Specified by:
      name in interface NamedService
      Returns:
      name of client protocol
    • pollWaitTime

      Duration pollWaitTime()
      How long to wait for the next HTTP/2 data frame to arrive in underlying stream. Whether this is a fatal error or not is controlled by abortPollTimeExpired().
      Returns:
      poll time as a duration
      See Also:
      • SocketOptionsBlueprint.readTimeout()
    • abortPollTimeExpired

      boolean abortPollTimeExpired()
      Whether to continue retrying after a poll wait timeout expired or not. If a read operation timeouts out and this flag is set to false, the event is logged and the client will retry. Otherwise, an exception is thrown.
      Returns:
      abort timeout flag
    • heartbeatPeriod

      Duration heartbeatPeriod()
      How often to send a heartbeat (HTTP/2 ping) to check if the connection is still alive. This is useful for long-running, streaming gRPC calls. It is turned off by default but can be enabled by setting the period to a value greater than 0.
      Returns:
      heartbeat period
    • initBufferSize

      int initBufferSize()
      Initial buffer size used to serialize gRPC request payloads. Buffers shall grow according to the payload size, but setting this initial buffer size to a larger value may improve performance for certain applications.
      Returns:
      initial buffer size