@Override
    public void startDeframing() {
        req.aggregate(AggregationOptions.usePooledObjects(ctx.alloc(), ctx.eventLoop()))
           .handle((aggregatedHttpRequest, cause) -> {
               if (cause != null) {
                   onError(cause);
                   return null;
               }

               try {
                   onRequestMessage(requestDeframer.deframe(aggregatedHttpRequest.content()), true);
               } catch (Exception ex) {
                   // An exception could be raised when the deframer detects malformed data which is released by
                   // the try-with-resource block. So `objects` don't need to be released here.
                   onError(ex);
               }
               return null;
           });
    }
Encapsulates the state of a single server call, reading messages from the client, passing to business logic
via {@link Listener}, and writing messages passed back to the response.
grpc/src/main/java/com/linecorp/armeria/server/grpc/UnaryServerCall.java