@Override
    protected final CompletionStage<ByteBuf> handleMessage(ServiceRequestContext ctx, ByteBuf message) {
        final byte[] bytes;
        try {
            bytes = ByteBufUtil.getBytes(message);
        } finally {
            message.release();
        }
        return handleMessage(ctx, bytes).thenApply(Unpooled::wrappedBuffer);
    }
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 {@code byte[]}. The returned {@code byte[]} will be framed and returned to the client.
grpc-protocol/src/main/java/com/linecorp/armeria/server/grpc/protocol/AbstractUnaryGrpcService.java