Class GrpcServer

java.lang.Object
io.vertx.reactivex.grpc.server.ServiceContainer
io.vertx.reactivex.grpc.server.GrpcServer
All Implemented Interfaces:
Handler<HttpServerRequest>, io.vertx.lang.rx.RxDelegate

public class GrpcServer extends ServiceContainer implements io.vertx.lang.rx.RxDelegate, Handler<HttpServerRequest>

A gRPC server based on Vert.x HTTP server.

The server can be used as a HttpServer handler or mounted as a Vert.x Web handler.

Unlike traditional gRPC servers, this server 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 server 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<GrpcServer> __TYPE_ARG
  • Constructor Details

    • GrpcServer

      public GrpcServer(GrpcServer delegate)
    • GrpcServer

      public GrpcServer(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class ServiceContainer
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class ServiceContainer
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class ServiceContainer
    • getDelegate

      public GrpcServer getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
      Overrides:
      getDelegate in class ServiceContainer
    • handle

      public void handle(HttpServerRequest event)
      Something has happened, so handle it.
      Specified by:
      handle in interface Handler<HttpServerRequest>
      Parameters:
      event - the event to handle
    • server

      public static GrpcServer server(Vertx vertx)
      Create a blank gRPC server with default options.
      Parameters:
      vertx -
      Returns:
      the created server
    • server

      public static GrpcServer server(Vertx vertx, GrpcServerOptions options)
      Create a blank gRPC server with specified options.
      Parameters:
      vertx -
      options - the gRPC server options
      Returns:
      the created server
    • callHandler

      public GrpcServer callHandler(Handler<GrpcServerRequest<Buffer,Buffer>> handler)
      Set a call handler that handles any call made to the server.
      Parameters:
      handler - the service method call handler
      Returns:
      a reference to this, so the API can be used fluently
    • callHandler

      public <Req,Resp> GrpcServer callHandler(ServiceMethod<Req,Resp> serviceMethod, Handler<GrpcServerRequest<Req,Resp>> handler)
      Set a service method call handler that handles any call made to the server for the fullMethodName service method.
      Parameters:
      serviceMethod - the service method
      handler - the service method call handler
      Returns:
      a reference to this, so the API can be used fluently
    • addService

      public GrpcServer addService(Service service)
      Description copied from class: ServiceContainer
      Add a service to this server.
      Overrides:
      addService in class ServiceContainer
      Parameters:
      service - the service to add
      Returns:
      a reference to this, so the API can be used fluently
    • newInstance

      public static GrpcServer newInstance(GrpcServer arg)