docs: def rpc(self, name, handler, value, request=None):
          """Perform RPC operation on PV
  
          :param name: A single name string or list of name strings
          :param callable handler: Completion notification.  Called with a Value, RemoteError, or Cancelled
          :param request: A :py:class:`p4p.Value` or string to qualify this request, or None to use a default.
  
          :returns: A object with a method cancel() which may be used to abort the operation.
          """
          chan = self._channel(name)
          if value is None:
              value = Value(Type([]))
          return _p4p.ClientOperation(chan, handler=unwrapHandler(handler, self._nt),
                                      value=value, pvRequest=wrapRequest(request), rpc=True)