Interface GrpcClientConfiguration


public interface GrpcClientConfiguration
  • Field Details

  • Method Details

    • useQuarkusGrpcClient

      @WithDefault("false") boolean useQuarkusGrpcClient()
      Use new Vert.x gRPC client support. By default, we still use previous Java gRPC support.
    • useVertxEventLoop

      @WithDefault("true") boolean useVertxEventLoop()
      Use Vert.x event loop(s) for gRPC client, if it's using the previous Java gRPC support.
    • xds

      @ConfigDocSection(generated=true) GrpcClientConfiguration.ClientXds xds()
      Configure XDS usage, if enabled.
    • inProcess

      InProcess inProcess()
      Configure InProcess usage, if enabled.
    • stork

      Configure Stork usage with new Vert.x gRPC, if enabled.
    • port

      @WithDefault("9000") int port()
      The gRPC service port.
    • testPort

      OptionalInt testPort()
      The gRPC service test port.
    • host

      @WithDefault("localhost") String host()
      The host name / IP on which the service is exposed.
    • ssl

      The SSL/TLS config. Only use this if you want to use the old Java gRPC client.
    • tlsConfigurationName

      Optional<String> tlsConfigurationName()
      The name of the TLS configuration to use.

      If not set and the default TLS configuration is configured (quarkus.tls.*) then that will be used. If a name is configured, it uses the configuration from quarkus.tls.<name>.* If a name is configured, but no TLS configuration is found with that name then an error will be thrown.

      If no TLS configuration is set, and quarkus.tls.* is not configured, then, `quarkus.grpc.clients.$client-name.tls` will be used.

      Important: This is only supported when using the Quarkus (Vert.x-based) gRPC client.

    • tls

      The TLS config. Only use this if you want to use the Quarkus gRPC client.
    • nameResolver

      @WithDefault("dns") String nameResolver()
      Use a name resolver. Defaults to dns. If set to "stork", host will be treated as SmallRye Stork service name
    • plainText

      Optional<Boolean> plainText()
      Whether plain-text should be used instead of TLS. Enabled by default, except if TLS/SSL is configured. In this case, plain-text is disabled.
    • keepAliveTime

      Optional<Duration> keepAliveTime()
      The duration after which a keep alive ping is sent.
    • flowControlWindow

      OptionalInt flowControlWindow()
      The flow control window in bytes. Default is 1MiB.
    • idleTimeout

      Optional<Duration> idleTimeout()
      The duration without ongoing RPCs before going to idle mode.
    • keepAliveTimeout

      Optional<Duration> keepAliveTimeout()
      The amount of time the sender of a keep alive ping waits for an acknowledgement.
    • keepAliveWithoutCalls

      @WithDefault("false") boolean keepAliveWithoutCalls()
      Whether keep-alive will be performed when there are no outstanding RPC on a connection.
    • maxHedgedAttempts

      @WithDefault("5") int maxHedgedAttempts()
      The max number of hedged attempts.
    • maxRetryAttempts

      @WithDefault("5") int maxRetryAttempts()
      The max number of retry attempts. Retry must be explicitly enabled.
    • maxTraceEvents

      OptionalInt maxTraceEvents()
      The maximum number of channel trace events to keep in the tracer for each channel or sub-channel.
    • maxInboundMessageSize

      OptionalInt maxInboundMessageSize()
      The maximum message size allowed for a single gRPC frame (in bytes). Default is 4 MiB.
    • maxInboundMetadataSize

      OptionalInt maxInboundMetadataSize()
      The maximum size of metadata allowed to be received (in bytes). Default is 8192B.
    • negotiationType

      @WithDefault("TLS") String negotiationType()
      The negotiation type for the HTTP/2 connection. Accepted values are: TLS, PLAINTEXT_UPGRADE, PLAINTEXT
    • overrideAuthority

      Optional<String> overrideAuthority()
      Overrides the authority used with TLS and HTTP virtual hosting.
    • perRpcBufferLimit

      OptionalLong perRpcBufferLimit()
      The per RPC buffer limit in bytes used for retry.
    • retry

      @WithDefault("false") boolean retry()
      Whether retry is enabled. Note that retry is disabled by default.
    • retryBufferSize

      OptionalLong retryBufferSize()
      The retry buffer size in bytes.
    • userAgent

      Optional<String> userAgent()
      Use a custom user-agent.
    • loadBalancingPolicy

      @WithDefault("pick_first") String loadBalancingPolicy()
      Use a custom load balancing policy. Accepted values are: pick_first, round_robin, grpclb. This value is ignored if name-resolver is set to 'stork'.
    • compression

      Optional<String> compression()
      The compression to use for each call. The accepted values are gzip and identity.
    • deadline

      Optional<Duration> deadline()
      The deadline used for each call.