Package io.vertx.grpcio.server

## Interface GrpcIoServer

- All Superinterfaces:
    `GrpcServer`, `Handler<HttpServerRequest>`

      public interface GrpcIoServer
      extends GrpcServer

  A gRPC server based on Vert.x HTTP server. This server extends the `GrpcServer` to encode/decode messages in protobuf format using `MethodDescriptor`. This server exposes 2 levels of handlers
  - a Protobuf message `handler`: `GrpcServerRequest`/`GrpcServerResponse` with Protobuf message that handles any method call in a generic way
  - a gRPC message `handler`: `GrpcServerRequest`/`GrpcServerRequest` with gRPC messages that handles specific service method calls

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default GrpcIoServer` | `addService​(BindableService bindableService)` | Like `GrpcServer.addService(Service)` with a gRPC/IO `BindableService`.
    `<Req,​Resp> GrpcIoServer` | `callHandler​(MethodDescriptor<Req,​Resp> methodDesc, Handler<GrpcServerRequest<Req,​Resp>> handler)` | Set a service method call handler that handles any call made to the server for the `MethodDescriptor` service method.
    `GrpcIoServer` | `callHandler​(Handler<GrpcServerRequest<Buffer,​Buffer>> handler)` | Set a call handler that handles any call made to the server.
    `static GrpcIoServer` | `server​(Vertx vertx)` | Create a blank gRPC server with default options.
    `static GrpcIoServer` | `server​(Vertx vertx, GrpcServerOptions options)` | Create a blank gRPC server with specified options.

    - ### Methods inherited from interface io.vertx.grpc.server.GrpcServer

      `addService, callHandler, services`

    - ### Methods inherited from interface io.vertx.core.Handler

      `handle`

- - ### Method Detail

    - #### server

          static GrpcIoServer server​(Vertx vertx)

      Create a blank gRPC server with default options.
      Returns:
        the created server

    - #### server

          static GrpcIoServer server​(Vertx vertx,
                                     GrpcServerOptions options)

      Create a blank gRPC server with specified options.
      Parameters:
        `options` - the gRPC server options
      Returns:
        the created server

    - #### callHandler

          GrpcIoServer callHandler​(Handler<GrpcServerRequest<Buffer,​Buffer>> handler)

      Description copied from interface: `GrpcServer`
      Set a call handler that handles any call made to the server.
      Specified by:
        `callHandler` in interface `GrpcServer`
      Parameters:
        `handler` - the service method call handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### callHandler

          <Req,​Resp> GrpcIoServer callHandler​(MethodDescriptor<Req,​Resp> methodDesc,
                                                    Handler<GrpcServerRequest<Req,​Resp>> handler)

      Set a service method call handler that handles any call made to the server for the `MethodDescriptor` service method.
      Parameters:
        `handler` - the service method call handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### addService

          default GrpcIoServer addService​(BindableService bindableService)

      Like `GrpcServer.addService(Service)` with a gRPC/IO `BindableService`.