Class 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 Detail

      • __TYPE_ARG

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

      • GrpcClient

        public GrpcClient​(GrpcClient delegate)
      • GrpcClient

        public GrpcClient​(Object delegate)
    • Method Detail

      • 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,
                                        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 <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
      • close

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

        public Completable rxClose()
        Close this client.
        Returns: