Class AbstractUnaryGrpcService

java.lang.Object
com.linecorp.armeria.server.AbstractHttpService
com.linecorp.armeria.server.grpc.protocol.AbstractUnsafeUnaryGrpcService
com.linecorp.armeria.server.grpc.protocol.AbstractUnaryGrpcService
All Implemented Interfaces:
com.linecorp.armeria.common.util.Unwrappable, com.linecorp.armeria.server.HttpService, com.linecorp.armeria.server.Service<com.linecorp.armeria.common.HttpRequest,com.linecorp.armeria.common.HttpResponse>

@UnstableApi public abstract class AbstractUnaryGrpcService extends AbstractUnsafeUnaryGrpcService
An AbstractUnaryGrpcService can be used to implement a gRPC service without depending on gRPC stubs. This service takes care of deframing and framing with the gRPC wire format and handling appropriate headers.

This service does not support compression. If you need support for compression, please consider using normal gRPC stubs or file a feature request.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract CompletionStage<byte[]>
    handleMessage(com.linecorp.armeria.server.ServiceRequestContext ctx, byte[] message)
    Returns an unframed response message to return to the client, given an unframed request message.
    protected final CompletionStage<ByteBuf>
    handleMessage(com.linecorp.armeria.server.ServiceRequestContext ctx, ByteBuf message)
    Returns an unframed response message to return to the client, given an unframed request message.

    Methods inherited from class com.linecorp.armeria.server.grpc.protocol.AbstractUnsafeUnaryGrpcService

    doPost, exchangeType

    Methods inherited from class com.linecorp.armeria.server.AbstractHttpService

    doConnect, doDelete, doGet, doHead, doOptions, doPatch, doPut, doTrace, serve

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.linecorp.armeria.server.HttpService

    decorate, decorate

    Methods inherited from interface com.linecorp.armeria.server.Service

    as, serviceAdded, shouldCachePath, unwrap

    Methods inherited from interface com.linecorp.armeria.common.util.Unwrappable

    equalsIgnoreWrapper, unwrapAll
  • Constructor Details

    • AbstractUnaryGrpcService

      public AbstractUnaryGrpcService()
  • Method Details

    • handleMessage

      protected abstract CompletionStage<byte[]> handleMessage(com.linecorp.armeria.server.ServiceRequestContext ctx, byte[] message)
      Returns an unframed response message to return to the client, given an unframed request message. It is expected that the implementation has the logic to know how to parse the request and serialize a response into byte[]. The returned byte[] will be framed and returned to the client.
    • handleMessage

      protected final CompletionStage<ByteBuf> handleMessage(com.linecorp.armeria.server.ServiceRequestContext ctx, ByteBuf message)
      Description copied from class: AbstractUnsafeUnaryGrpcService
      Returns an unframed response message to return to the client, given an unframed request message. It is expected that the implementation has the logic to know how to parse the request and serialize a response into ByteBuf. The returned ByteBuf will be framed and returned to the client.
      Specified by:
      handleMessage in class AbstractUnsafeUnaryGrpcService