@Override
        public void onSubscribe(Subscription s) {
            if (subscription != null) {
                logger.error("onSubscribe was called multiple times");
                s.cancel();
                return;
            }
            subscription = s;
            // At least 2 requests are required for receiving trailers.
            s.request(2);
        }
Executes a unary gRPC client request. The given {@code payload} will be framed and sent to the path at
{@code uri}. {@code uri} should be the method's URI, which is always of the format
{@code /:package-name.:service-name/:method}. For example, for the proto package
{@code armeria.protocol}, the service name {@code CoolService} and the method name
{@code RunWithoutStubs}, the {@code uri} would be {@code /armeria.protocol.CoolService/RunWithoutStubs}.
If you aren't sure what the package, service name, and method name are for your method, you should
probably use normal gRPC stubs instead of this class.
grpc-protocol/src/main/java/com/linecorp/armeria/client/grpc/protocol/UnaryGrpcClient.java