Class GrpcClient

java.lang.Object
io.vertx.reactivex.grpc.client.GrpcClient
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate

public class GrpcClient extends Object implements io.vertx.lang.rx.RxDelegate

A gRPC client for Vert.x

Unlike traditional gRPC clients, this client does not rely on a generated RPC interface to interact with the service.

Instead, you can interact with the service with a request/response interfaces and gRPC messages, very much like a traditional client.

The client handles only the gRPC protocol and does not encode/decode protobuf messages.

NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

  • Field Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<GrpcClient> __TYPE_ARG
  • Constructor Details

    • GrpcClient

      public GrpcClient(GrpcClient delegate)
    • GrpcClient

      public GrpcClient(Object delegate)
  • Method Details

    • 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
    • getDelegate

      public GrpcClient getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • builder

      public static GrpcClientBuilder<GrpcClient> builder(Vertx vertx)
      Provide a builder for GrpcClient, it can be used to configure advanced client settings like a load balancer or an address resolver.

      Example usage: GrpcClient client = GrpcClient.builder(vertx).with(options)...build()

      Parameters:
      vertx -
      Returns:
    • client

      public static GrpcClient client(Vertx vertx)
      Create a client.
      Parameters:
      vertx - the vertx instance
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, GrpcClientOptions options)
      Create a client.
      Parameters:
      vertx - the vertx instance
      options -
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, GrpcClientOptions grpcOptions, ClientSSLOptions sslOptions)
      Create a client with the specified sslOptions.
      Parameters:
      vertx - the vertx instance
      grpcOptions - the http client options
      sslOptions - the http client options
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, ClientSSLOptions sslOptions)
      Create a client with the specified sslOptions.
      Parameters:
      vertx - the vertx instance
      sslOptions - the http client options
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, GrpcClientOptions grpcOptions, HttpClientOptions httpOptions)
      Create a client with the specified options.
      Parameters:
      vertx - the vertx instance
      grpcOptions - the http client options
      httpOptions - the http client options
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, HttpClientOptions options)
      Create a client with the specified options.
      Parameters:
      vertx - the vertx instance
      options - the http client options
      Returns:
      the created client
    • client

      public static GrpcClient client(Vertx vertx, HttpClient client)
      Create a client wrapping an existing .
      Parameters:
      vertx - the vertx instance
      client - the http client instance
      Returns:
      the created client
    • request

      public Future<GrpcClientRequest<Buffer,Buffer>> request(Address server)
      Connect to the remote server and create a request for any hosted gRPC service.
      Parameters:
      server - the server hosting the service
      Returns:
      a future request
    • rxRequest

      public Single<GrpcClientRequest<Buffer,Buffer>> rxRequest(Address server)
      Connect to the remote server and create a request for any hosted gRPC service.
      Parameters:
      server - the server hosting the service
      Returns:
      a future request
    • request

      public Future<GrpcClientRequest<Buffer,Buffer>> request()
      Like request(Address) with the default remote server.
      Returns:
    • rxRequest

      public Single<GrpcClientRequest<Buffer,Buffer>> rxRequest()
      Like request(Address) with the default remote server.
      Returns:
    • close

      public Future<Void> close()
      Close this client.
      Returns:
    • rxClose

      public Completable rxClose()
      Close this client.
      Returns:
    • request

      public <Req,Resp> Future<GrpcClientRequest<Req,Resp>> request(Address server, ServiceMethod<Resp,Req> method)
      Connect to the remote server and create a request for any hosted gRPC service.
      Parameters:
      server - the server hosting the service
      method - the grpc method
      Returns:
      a future request
    • rxRequest

      public <Req,Resp> Single<GrpcClientRequest<Req,Resp>> rxRequest(Address server, ServiceMethod<Resp,Req> method)
      Connect to the remote server and create a request for any hosted gRPC service.
      Parameters:
      server - the server hosting the service
      method - the grpc method
      Returns:
      a future request
    • request

      public <Req,Resp> Future<GrpcClientRequest<Req,Resp>> request(ServiceMethod<Resp,Req> method)
      Like request(Address) with the default remote server.
      Parameters:
      method -
      Returns:
    • rxRequest

      public <Req,Resp> Single<GrpcClientRequest<Req,Resp>> rxRequest(ServiceMethod<Resp,Req> method)
      Like request(Address) with the default remote server.
      Parameters:
      method -
      Returns:
    • newInstance

      public static GrpcClient newInstance(GrpcClient arg)