class_docstr: Constructs a protocol service stub class using a service descriptor.
  
  Given a service descriptor, this class constructs a suitable stub class.
  A stub is just a type-safe wrapper around an RpcChannel which emulates a
  local implementation of the service.
  
  One service stub builder instance constructs exactly one class. It means all
  instances of that class share the same service stub builder.
class_docstr_tok: ["Constructs","a","protocol","service","stub","class","using","a","service","descriptor",".","Given","a","service","descriptor",",","this","class","constructs","a","suitable","stub","class",".","A","stub","is","just","a","type-safe","wrapper","around","an","RpcChannel","which","emulates","a","local","implementation","of","the","service",".","One","service","stub","builder","instance","constructs","exactly","one","class",".","It","means","all","instances","of","that","class","share","the","same","service","stub","builder","."]
docstr: Constructs the stub class.
  
  Args:
    cls: The class that will be constructed.
docstr_tok: ["Constructs","the","stub","class",".","Args",":","cls",":","The","class","that","will","be","constructed","."]
code: def BuildServiceStub(self, cls):
      """Constructs the stub class.
  
      Args:
        cls: The class that will be constructed.
      """
  
      def _ServiceStubInit(stub, rpc_channel):
          stub.rpc_channel = rpc_channel
  
      self.cls = cls
      cls.__init__ = _ServiceStubInit
      for method in self.descriptor.methods:
          setattr(cls, method.name, self._GenerateStubMethod(method))
  
label_desc: Use image node_id 2 for calling the _ServiceStubBuilder obj's underlying member method code with example usage: obj.BuildServiceStub(cls) without return types