Class GrpcClientProtocolConfig.BuilderBase.GrpcClientProtocolConfigImpl

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

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

    • GrpcClientProtocolConfigImpl

      protected GrpcClientProtocolConfigImpl(GrpcClientProtocolConfig.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: GrpcClientProtocolConfig
      Name identifying this client protocol. Defaults to type.
      Specified by:
      name in interface GrpcClientProtocolConfig
      Specified by:
      name in interface NamedService
      Returns:
      name of client protocol
    • pollWaitTime

      public Duration pollWaitTime()
      Description copied from interface: GrpcClientProtocolConfig
      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 GrpcClientProtocolConfig.abortPollTimeExpired().
      Specified by:
      pollWaitTime in interface GrpcClientProtocolConfig
      Returns:
      poll time as a duration
      See Also:
    • abortPollTimeExpired

      public boolean abortPollTimeExpired()
      Description copied from interface: GrpcClientProtocolConfig
      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.
      Specified by:
      abortPollTimeExpired in interface GrpcClientProtocolConfig
      Returns:
      abort timeout flag
    • heartbeatPeriod

      public Duration heartbeatPeriod()
      Description copied from interface: GrpcClientProtocolConfig
      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.
      Specified by:
      heartbeatPeriod in interface GrpcClientProtocolConfig
      Returns:
      heartbeat period
    • initBufferSize

      public int initBufferSize()
      Description copied from interface: GrpcClientProtocolConfig
      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.
      Specified by:
      initBufferSize in interface GrpcClientProtocolConfig
      Returns:
      initial buffer size
    • nextRequestWaitTime

      public Duration nextRequestWaitTime()
      Description copied from interface: GrpcClientProtocolConfig
      When data has been received from the server but not yet requested by the client (i.e., listener), the implementation will wait for this duration before signaling an error. If data is requested and more data is still in the queue, this time wait restarts until the next request is received. If duration expires, a status of Status.CANCELLED is reported in the call to ClientCall.Listener.onClose(io.grpc.Status, io.grpc.Metadata).
      Specified by:
      nextRequestWaitTime in interface GrpcClientProtocolConfig
      Returns:
      duration to wait for the next data request from listener
      See Also:
      • ClientCall.request(int)
    • 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()
      Type identifying this protocol.
      Specified by:
      type in interface NamedService
      Returns:
      protocol type