private SofaResponse genericServerStreamCall(SofaRequest sofaRequest, int timeout) {
        SofaStreamObserver sofaStreamObserver = (SofaStreamObserver) sofaRequest.getMethodArgs()[sofaRequest.getMethodArgs().length - 1];

        MethodDescriptor<Request, Response> methodDescriptor = getMethodDescriptor(sofaRequest);
        ClientCall<Request, Response> call = channel.newCall(methodDescriptor, buildCustomCallOptions(sofaRequest, timeout));

        Request req = SofaProtoUtils.buildRequest(sofaRequest.getMethodArgSigs(), sofaRequest.getMethodArgs(), serialization, serializer, 1);

        ClientStreamObserverAdapter responseObserver = new ClientStreamObserverAdapter(sofaStreamObserver, sofaRequest.getSerializeType(), ClassLoaderUtils.getCurrentClassLoader());

        ClientCalls.asyncServerStreamingCall(call, req, responseObserver);

        return new SofaResponse();
    }
Method call type (Full method name - Streaming call type)
Since gRPC does not support method overload, each method here will only represent a single call type.
remoting/remoting-triple/src/main/java/com/alipay/sofa/rpc/transport/triple/TripleClientInvoker.java